从对象内部调用对象函数的SetInterval
SetInterval on functions of an object from within the object
我试图通过定期替换其内部HTML来创建一个可以在<div>
上工作的对象。不过,我被"周期性"这个词难住了。这就是我要做的(代码的相关部分,我省略了不相关的声明等):
function LedDisplay() {
this.initialize() {
window.setInterval(this.redraw, 200);
};
this.redraw = function() {
this.shiftDisplayMatrix();
$('#' + this.name).html(this.createSvg());
};
this.shiftDisplayMatrix = function() {
var firstRow = this.displayMatrix[0];
this.displayMatrix.splice(0, 1);
this.displayMatrix.push(firstRow);
};
};
结果如下- this.shiftDisplayMatrix is not a function
。我相信这是因为redraw
在全局环境中被调用,而那里没有this.shiftDisplayMatrix
。我似乎找不到的是如何达到我想要的。
或者我正在尝试做的是一个反模式?
是的,因为调用this.shiftDisplayMatrix
的上下文不再是对象本身,它不再具有访问函数的权限。你可以试试
function LedDisplay() {
var self = this;
....
}
,然后调用self.shiftDisplayMatrix
,在这里我们使用self来保存LedDisplay对象的上下文
相关文章:
- SetInterval在javascript对象中表现怪异
- 删除对象时终止setInterval
- 在setInterval函数之前声明时未定义对象
- setinterval导致对象忘记属性
- setInterval 只在对象方法上运行一次
- 对象中的setInterval出现问题's方法
- 从对象命名空间环境中的嵌套setInterval调用嵌套函数
- 为什么这个带有对象调用函数的Javascript setInterval在传入回调时不计算内部参数
- setTimeout()/setInterval()赢得't执行**我正在传递函数对象,而不是执行函数
- 使用一堆 setTimeouts 还是一个 setInterval 来刷新一堆对象更有效
- javascript 对象键值循环 setInterval
- 如果我丢失了调用对象,如何杀死 setInterval()/setTimout()
- 将 setInterval 存储为对象属性
- setInterval() 对象的方法调用
- 其他方法使用 setInterval 调用的方法无法访问 js 中的对象属性
- 从 setInterval 开始对象
- JavaScript:站点将对象传递给 setInterval
- 如何对每个自定义控件对象使用setInterval函数
- 使用SetInterval()调用Javascript对象方法
- 在javascript中同时调用具有相同构造函数的对象内部的setInterval