JavaScript在new一个实例对象的四个过程

new对象: function Person(name, age) {  this.name = name;  this.age = age;   }  var person = new Person("Alice", 23);  new一个对象的四个过程: 1、创建一个空对象 var obj =...
new对象:
function Person(name, age) {  
this.name = name;  
this.age = age;   
}  
var person = new Person("Alice", 23); 


new一个对象的四个过程:


1、创建一个空对象


var obj = new Object(); 



2、让Person中的this指向obj,并执行Person的函数体



var result = Person.call(obj);  


3、设置原型链,将obj的__proto__成员指向了Person函数对象的prototype成员对象


obj.__proto__ = Person.prototype; 



4、判断Person的返回值类型,如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。


if (typeof(result) == "object") 
person = result;  
else
person = obj;

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
牟雪峰
牟雪峰

12 篇文章

作家榜 »

  1. admin 651 文章
  2. 粪斗 185 文章
  3. 王凯 92 文章
  4. 廖雪 78 文章
  5. 牟雪峰 12 文章
  6. 李沁雪 9 文章
  7. 全易 2 文章
  8. Stevengring 0 文章