JS中的new操作符
在JS中定义一个构造函数,然后用new操作符构造对象obj,JS代码如下。
function Base(){
    this.name = "swf";
    this.age =20;
}
var obj = new Base();
console.log(obj.name);
console.log(obj.age);
new操作符具体都干了什么呢?其实很简单,包括三步:
1. var obj = {};
2. obj.__proto__ = Base.prototype;
3. Base.call(obj);
第一步,创建一个空对象;
第二步,将这个空对象的__proto__成员指向构造函数对象的prototype成员;
第三步,将构造函数对象的this指针换成obj,即在obj的作用域中调用Base函数。
JS中的new操作符的更多相关文章
- js中的new操作符与Object.create()的作用与区别
		js中的new操作符与Object.create()的作用与区别 https://blog.csdn.net/mht1829/article/details/76785231 2017年08月06日 ... 
- JS中的一元操作符
		表达式 一元操作符 优先级 结合性 运算顺序 表达式是什么? 就是JS 中的一个短语,解释器遇到这个短语以后会把对它进行计算,得到一个结果参与运算,我们把这种要参与到运算中的各种各样的短语称为表达式. ... 
- JS中的 new 操作符简单理解
		首先上一一个简单的 new 操作符实例 var Person = function(name){ this.name = name; this.say = function(){ return &qu ... 
- JS中的delete操作符
		首先,delete删除成功返回true,失败返回false. js代码: function wxCount ($element) { this.init($element); } wxCount.pr ... 
- JS 中的 new 操作符
		按照javascript语言精粹中所说,如果在一个函数前面带上new来调用该函数,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this将被绑定到那个新对象上.这个话很抽象,我想 ... 
- js中的new操作符解析
		new 操作符做了以下事情: 1.创建一个对象,将对象赋值给this function Person(name, age) { console.log(this) //Person {} } let ... 
- JS中void(0)操作符的使用
		今天 在看源码时,发现这种写法 if(value === void(0)){ // } 以前没有见过这种写法,感觉就是判断一个变量是否有值,官网上是这样说的: void运算符 对给定的表达式进行求值, ... 
- JS中的new操作符原理解析
		var Person = function(name){ this.name = name; } Person.prototype.sayHello = function() { console.lo ... 
- js-分享107个js中的非常实用的小技巧(借鉴保存)
		转载原文:http://***/Show.aspx?id=285 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:doc ... 
随机推荐
- 【SP1811】LCS - Longest Common Substring
			[SP1811]LCS - Longest Common Substring 题面 洛谷 题解 建好后缀自动机后从初始状态沿着现在的边匹配, 如果失配则跳它的后缀链接,因为你跳后缀链接到达的\(End ... 
- libgdx学习记录11——平铺地图TiledMap
			地图对于游戏场景十分重要,很多游戏都需要对地图进行编辑,可使用TileMap进行编辑并生成对应的tmx格式地图文件. 编辑好后,可通过TmxMapLoader来读取地图文件.可通过一个正交相机Otho ... 
- Merge:解析on子句和when not match子句的陷阱
			在细节上,体现编程的修养.每一位大师,master,其基础必定夯实.废话不多说,直接上干货,Merge子句用于对两个数据表执行数据同步,On子句指定匹配(when matched)条件,When子句指 ... 
- C#_Stream
			IO操作基本上需要用到Stream相关的子类,因此这类问题在CSDN问得也是比较多.其实对于Stream来说,操作起来比较简单,只要对细节的处理稍微注意一下,相信在使用它的时候也会得心应手. 对于St ... 
- 转--看完让你彻底搞懂Websocket原理
			偶然在知乎上看到一篇回帖,瞬间觉得之前看的那么多资料都不及这一篇回帖让我对 websocket 的认识深刻有木有.所以转到我博客里,分享一下.比较喜欢看这种博客,读起来很轻松,不枯燥,没有布道师的阵仗 ... 
- 【LeetCode】数组--合并区间(56)
			写在前面 老粉丝可能知道现阶段的LeetCode刷题将按照某一个特定的专题进行,之前的[贪心算法]已经结束,虽然只有三个题却包含了简单,中等,困难这三个维度,今天介绍的是第二个专题[数组] 数组( ... 
- SQLServer2008只能编辑前面200行数据
			设置编辑所有行:操作步骤:打开数据库-〉工具-〉选项-〉sqlserver对象资源管理器-〉命令 把200改为0,即可编辑所有行了 
- DOM父节点、子节点例子
			父节点 <body> <ul id="oUl"> <li><a href="#">隐藏1</a>&l ... 
- composer 使用(踩坑笔记)
			composer的介绍 来张图就好啦!我不细说啦 安装composer 1).PHP 环境变量配置,可参考百度经验: 2).详情可参考中国全量镜像进行 Composer 的安装 3).安装完成后,命令 ... 
- Linux命令(二) 复制文件 cp
			cp命令用来复制文件或目录,当复制多个文件时,目标文件参数必须为已经存在的目录,否则将出现错误. cp命令默认不能复制目录,复制目录必须使用 -R 选项.cp命令具备了 ln命令的功能. 命令格式: ... 
