JS中new关键字的作用

604 阅读1分钟

如果我们把Person当作一个普通方法,他的执行是这样的:

function Person(name,age){
	this.name = name;
	this.age = age;
}
var p = Person('李云迪',39);
			
console.log(p);
			
console.log(name);
console.log(age);

09_new关键字-构造函数当做普通函数使用.png

如果我们把Person当作构造方法调用

function Person(name, age) {
    this.name = name;
    this.age = age;
}
var p = new Person('张三', 18);
console.log(p);

会按照如下的过程执行

1、开辟内存空间(堆)

2、this指向该内存(让函数内部的this)

3、执行函数代码

4、生成对象实例返回(把空间的地址返回)

11_new关键字的作用.png

只有理解好底层的原理,才能更好的使用这个对象,兄弟们学废了么?