IT源码网

怎样理解new命令的执行过程

developer 2021年03月09日 编程语言 460 0

通过new命令生成一个实例对象经历了四个步骤: 

1. 创建一个空对象, 作为将要返回的实例;

2. 将空对象的原型指向构造函数的prototype属性;

3. 将空对象赋值给构造函数的this;

4. 执行构造函数内部代码;

 

下面是这四个过程的演示: 

// 创建一个构造函数Person 
function Person(name) { 
    this.name = name; 
} 
 
// 1. 创建一个空对象 
var lilei = {}; 
 
// 2. 将空对象的原型指向构造函数的prototype; 
lilei.prototype = Person.prototype; 
 
// 3. 将空对象赋值给构造函数的this; 
function Person(name) { 
    this = lilei; 
    // ... 
}; 
 
// 4. 执行构造函数内部代码 
function Person(name) { 
    this = lilei; 
    this.name = name; 
}

 

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!