问题:我在JavaScript中定义了一个构造函数,我几乎尝试了所有我能想到的模式/ Google。出于某种原因,无论我在调用该对象的成员函数时做什么,this
关键字始终绑定到window
。我不知道该怎么做。
JsFiddle:http://jsfiddle.net/za6SN/2/
答案 0 :(得分:2)
待办事项
setInterval(function() {ball.draw()}, 50);
没有你只会传递对ball.draw函数的引用,这将指向窗口
答案 1 :(得分:1)
当您将方法引用传递为ball.draw
时,其this
设置为window
,因为它已丢失其上下文。
最好的方法是use an anonymous function。不推荐另一种方式(它调用eval()
)所以我在这里不会提到它。