当作构造函数调用时,this 指向了这个构造函数调用时候实例化出来的对象;
function Person(name) {
this.name = name;
console.log(this);
}
var p = new Person('qiutc');
// Person {name: "qiutc"}
当然,构造函数其实也是一个函数,如果把它当作一个普通函数执行,这个 this 仍然执行全局:
function Person(name) {
this.name = name;
console.log(this);
}
var p = Person('qiutc');
// Window
看你是如何调用的,this的指向问题有很多文章都讲了,网上很多这样的文章,有兴趣可以去搜索一下。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…