问题描述
|
问题:我用JavaScript定义了一个构造函数,我已经尝试了几乎所有可以想到的/ Google模式。出于某种原因,无论我调用该对象的成员函数时做什么,关键字
this
始终绑定到window
。我不知道该怎么办。
Jsfiddle:http://jsfiddle.net/za6SN/2/
解决方法
当您将方法引用传递为
ball.draw
时,它的this
被设置为window
,因为它失去了上下文。
最好的方法是使用匿名函数。不推荐使用其他方法(它调用eval()
),因此在这里我什至不提。
,做
setInterval(function() {ball.draw()},50);
如果没有,您只会将引用传递给函数ball.draw,这将指向window