IT源码网

怎样理解没有this的构造函数

flyfish 2021年03月09日 编程语言 386 0

如果一个构造函数内部没有this, 那可以说这个压根不是构造函数, 因为他并不能返回一个实例对象; 

function Person(name) { 
    var name = name; 
}; 
 
var lilei = new Person("Lilei"); 
lilei; // {}; 
lilei instanceof Person; // true

 

由上面的代码可知, 如果一个构造函数中没有this, 那使用new命令创建的实例对象是一个空对象, 但这个空对象的原型确实来自Person, 原因是new命令执行的四个步骤中, this是必要的. 如果没有, 那就无法将 lilei这个空对象赋值给this, 自然无法继承构造函数声明的属性和方法, 

 

new命令的执行过程参见: https://www.cnblogs.com/aisowe/p/11652991.html

评论关闭
IT源码网

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

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