function a(){};
a.prototype.testThis = function() {
console.log(a.prototype == this); // false
console.log(a == this); // false
console.log(b == this); // true
};
var b = new a();
b.testThis(); //
按理说,prototype是一个对象,对象的this应该指向对象本身,也就是prototype,经过测试,它不指向a.prototype,也不指向a,而指向b。
this
的绑定取决于调用的模式,JavaScript 中一共有4种调用模式:上面都是从《JavaScript 语言精粹》里面函数一章可以找到