function Person(){}
var person = new Person();
构造函数中的this指向创建出的对象。
为什么this指向的是对象?
new关键字会在内存中开辟一片空间,这个空间在设置好值时会把地址交给person这个变量,所以person就是创建出来对象的代言人,而空间存在的this也就指向了person;
function Person3() {
this.name = 'tianxia'; //这个this指向什么?
}
var person3 = new Person3();
this指向这个实例
要创建构造函数新的实例,就必须用new操作符,以这种方式调用构造函数会经历以下4个步骤:
- 创建一个新的对象;
- 将构造函数的作用域赋给新对象(因此this就指向了这个新对象);
- 执行构造函数中的代码;
- 返回新对象。