javascript - 对象内部的方法未定义?

标签 javascript

我仍在学习如何正确使用 Javascript,但在尝试为对象内部的函数设置间隔时遇到了困难。

这是我的代码:

http://pastebin.com/hJAtaqKi

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

它似乎不起作用..我得到一个 homePageFunctionality is not defined..

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

欢迎对我的代码提出任何其他一般性反馈。

谢谢

最佳答案

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

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

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

关于javascript - 对象内部的方法未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5789755/

相关文章:

Javascript 和 css minifier 内置于 studio 2010,asp.net mvc 应用程序

javascript - API不会在点击时显示

javascript - 如何在没有唯一键警告的情况下使用 React 渲染 Material UI 网格

javascript - 如何设置文本区域中文本的格式

javascript - jquery 代码工作正常,但其他单选按钮干扰其工作

javascript - 如何知道 iOS 用户是否拒绝了 React-Native 的权限?

javascript - 如何利用 FuelUX DataGrid "loaded"事件?

javascript - Jquery 到原型(prototype)

javascript - 如何从 Angular Yeoman 生成器中的列表中查看单个项目?

JavaScript 方法导致非安全项 IE6