javascript构造函数this is't绑定正确

javascript constructor this isn't bound correctly

本文关键字:绑定 构造函数 this is javascript      更新时间:2023-09-26

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

Js报价:http://jsfiddle.net/za6SN/2/

执行

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

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

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

最好的方法是使用匿名函数。不推荐使用另一种方式(它调用eval()),所以我在这里甚至不提它。