javascript构造函数这没有正确绑定

时间:2011-05-25 23:36:09

标签: javascript constructor this member-functions

问题:我在JavaScript中定义了一个构造函数,我几乎尝试了所有我能想到的模式/ Google。出于某种原因,无论我在调用该对象的成员函数时做什么,this关键字始终绑定到window。我不知道该怎么做。

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

2 个答案:

答案 0 :(得分:2)

待办事项

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

没有你只会传递对ball.draw函数的引用,这将指向窗口

答案 1 :(得分:1)

当您将方法引用传递为ball.draw时,其this设置为window,因为它已丢失其上下文。

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