我试图让JavaScript以setInterval
函数以设定的间隔重新运行特定的函数。
return document.getElementById('world').innerHTML = document.getElementById('world').innerHTML + "<div id='" + this.characterName + "' style='top:" + this.y * 32 + "px; left:" + this.x * 32 + "px'></div>";}
以前函数没有返回任何内容,只是调用了getElementById
方法并修改了元素。调用函数setInterval
时什么也没做。更改函数以返回getElementById
方法后,它会修改元素一次,然后开始在控制台中返回错误:
未捕获的SyntaxError:意外的标记&lt;
查看错误引用的来源,我没有看到其他<
,并且代码中的所有<
都在引号内从我所知道的。我有什么想法可以收到这个错误吗?
答案 0 :(得分:0)
我的问题在于setInterval方法的范围。我没有意识到它在引用时会自动查看窗口的范围。解决方案是调用一个自己调用的函数,将当前对象作为参数传递。
setTimeout(
(function(self) {
return function() {
self.originalFunction();
}
})(exampleobject), 3000
);