如果我们把Person当作一个普通方法,他的执行是这样的:
function Person(name,age){
this.name = name;
this.age = age;
}
var p = Person('李云迪',39);
console.log(p);
console.log(name);
console.log(age);
如果我们把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、生成对象实例返回(把空间的地址返回)
只有理解好底层的原理,才能更好的使用这个对象,兄弟们学废了么?