javascript构造函数this is't绑定正确
javascript constructor this isn't bound correctly
问题:我用JavaScript定义了一个构造函数,我几乎尝试了我能想到的所有模式/Google。出于某种原因,无论我在调用该对象的成员函数时做什么,this
关键字始终绑定到window
。我不知道该怎么办。
Js报价:http://jsfiddle.net/za6SN/2/
执行
setInterval(function() {ball.draw()}, 50);
如果没有,您将只传递对函数ball.draw的引用,这将指向窗口
将方法引用传递为ball.draw
时,其this
会设置为window
,因为它已丢失上下文。
最好的方法是使用匿名函数。不推荐使用另一种方式(它调用eval()
),所以我在这里甚至不提它。
相关文章:
- 在React中,为什么我必须绑定onClick函数而不是调用它
- 将动态元素绑定到函数;只剩下一个绑定
- 更改事件绑定's函数在页面加载时调用
- 浏览器化 - 将操作绑定到函数
- 如何将参数传递给backbone.js中事件对象中绑定的函数
- 为什么我必须绑定这个函数参数
- 将 redux 存储绑定到函数
- 是否可以绑定javascript函数,使其本地上下文与“this”相同
- 使用 Jquery,如何获取按钮绑定的函数
- 我可以使用 setTimeout 重置未绑定的函数吗?
- JS:绑定和函数链
- 使用一个函数在 javascript 中按下多个键时绑定一个函数
- javascript绑定's函数参数解释
- 绑定构造函数
- Javascript:绑定到函数的右侧
- jQuery.bind绑定的函数未启动
- Knockout绑定此函数中所需的内容
- 引导carousel:将jquery幻灯片更改为引导caroussel并绑定幻灯片函数
- 在javascript中未调用构造函数时绑定此函数
- 如何在AngularJS中绑定由函数构造器创建的对象