当我们实例化一个对象时,会遇到一个有意思的问题:
function Person(name) {
this.name = name;
}
var p = new Person("zhangsan")。
console.log(p);
构造函数并没有返回值,为什么可以将Person实例化呢?这是因为new的原因。new关键字有两个作用:1.申请内存空间 2.自动确定函数的返回值为一个实例化对象,以上打印的为Person对象。
function Person(name) {
this.name = name;
return 12;
}
var p = new Person("zhangsan")。
console.log(p);以上即使有一个返回值 11,但是因为new关键字的存在,打印的仍是p。
function Person(name) {
this.name = name;
return 12;
}
var p = Person("zhangsan")。
console.log(p);以上打印的是12。