我想知道并理解这个和那个之间的不同,以及何时需要使用它。 我准备好了吗许多后,很多教程,但我不明白,但这和那个有什么区别
这是我的课
function Container(param) {
function dec() {
if (secret > 0) {
secret -= 1;
return true;
} else {
return false;
}
}
this.member = param;
var secret = 3;
var that = this;
this.service = function() {
console.log(this.member); // foo
console.log(that.member); // foo
return dec() ? that.member : null;
};
}
新
var myContainer = new Container('foo');
myContainer.service()
调用myContainer.service()
将返回“ABC”的第一个三次它叫做。 之后,它将返回null
为什么我必须要做var that = this
??
另请参阅http://stackoverflow.com/questions/3127429/javascript-this-keyword – elclanrs
您是否尝试过不使用''来查看会发生什么?可能是了解发生了什么的好方法。 – CoderDennis
在你的例子中,我没有看到“that”的需要。试试'var s = myContainer.service; s()'看看有没有'that'发生了什么。 – phylax