首页 > Web开发 > 详细

js的new操作符

时间:2016-08-17 11:45:17      阅读:136      评论:0      收藏:0      [点我收藏+]
1、创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。
2、属性和方法被加入到 this 引用的对象中。
3、新创建的对象由 this 所引用,并且最后隐式的返回 this 。
 

var Person = function(name){

    //var this = {};

  this.name = name;

    this.say = function(){

        return "I am " + this.name;

    };

    //return this;

}

 
简单理解就是:

var obj = new Base();

相当于运行以下代码
new操作符具体干了什么呢?其实很简单,就干了三件事情。

var obj = {};

obj.__proto__ = Base.prototype;

Base.call(obj);

第一行,我们创建了一个空对象obj
第二行,我们将这个空对象的__proto__成员指向了Base函数对象prototype成员对象
第三行,我们将Base函数对象的this指针替换成obj,然后再调用Base函数,于是我们就给obj对象赋值了一个id成员变量,这个成员变量的值是”base”

js的new操作符

原文:http://www.cnblogs.com/lxl0419/p/5779054.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!