2011-05-25 84 views
1

问题:我定义了一个JavaScript构造函数,我尝试了几乎所有我能想到的/ Google模式。由于某种原因,无论我何时调用该对象的成员函数,this关键字总是绑定到window。我不知道该怎么办。JavaScript构造函数,这没有正确绑定

的jsfiddle:http://jsfiddle.net/za6SN/2/

+0

JavaScript中'this'关键字的语义相对简单,但不是很明显。这可能有所帮助:[stackoverflow.com/questions/3127429/javascript-this-keyword](http://stackoverflow.com/questions/3127429/javascript-this-keyword) – digitalbath 2011-05-25 23:42:01

回答

1

,其this设置为window,因为它已经丢失了它的上下文。

最好的方法是use an anonymous function。另一种方式是不推荐的(它调用eval()),所以我在这里甚至不会提到它。

2

setInterval(function() {ball.draw()}, 50); 

没有你只会通过参考功能ball.draw并在您通过方法引用作为ball.draw这将指向窗口

相关问题