JavaScript setInterval,返回函数,未捕获的SyntaxError:意外的标记<

时间:2015-05-04 18:30:56

标签: javascript jquery

我试图让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;

查看错误引用的来源,我没有看到其他<,并且代码中的所有<都在引号内从我所知道的。我有什么想法可以收到这个错误吗?

1 个答案:

答案 0 :(得分:0)

我的问题在于setInterval方法的范围。我没有意识到它在引用时会自动查看窗口的范围。解决方案是调用一个自己调用的函数,将当前对象作为参数传递。

setTimeout(
            (function(self) {
                return function() {
                    self.originalFunction();
                }
            })(exampleobject), 3000
            );