Object内部的方法未定义?

时间:2011-04-26 11:41:06

标签: javascript

我还在学习如何正确使用Javascript,并试图在对象内部的函数上设置间隔。

这是我的代码:

http://pastebin.com/hJAtaqKi

在第36行我正在调用页面下方的函数..这工作正常并正确引用函数..但是当我尝试将该函数包装在setinterval中时setInterval('homePageFunctionality.animateCarousel($ pause) ',4000);

它似乎不起作用..我得到一个homePageFunctionality没有定义..

知道为什么我在使用setInterval时似乎无法引用该函数?

欢迎任何其他关于我的代码的一般反馈。

由于

2 个答案:

答案 0 :(得分:3)

不要将字符串传递给setIntervalsetTimeout。如果这样做,解析器必须eval将它们转换为代码,并且它在自己的执行上下文中执行,因此您的变量不可用。

而是将一个匿名函数传递给setInterval

setInterval(function() {
    homePageFunctionality.animateCarousel($pause);
}, 4000);

答案 1 :(得分:0)

setInterval(function(){
 homePageFunctionality.animateCarousel($pause);
}, 4000);

试试这个。