javascript - Uncaught ReferenceError : xyz is not defined

标签 javascript jquery

为什么在用单引号定义此函数时会出现未定义错误?

示例:

rotator.doStuff =  function(num) {
        //do stuff
        rotator.timer = setTimeout('rotator.doStuff('+num+')',500);
}

最佳答案

假设这是 IIF 的内容。

当使用字符串时,rotator 将在全局范围内解析,并且它在那里不可用,因此会出现错误。

你应该试试这个。现在 rotator 将在词法范围内解析,从中可以访问它。

rotator.timer = setTimeout(rotator.doStuff.bind(rotator, num), 500);

关于javascript - Uncaught ReferenceError : xyz is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22545782/

相关文章:

javascript - 为什么这个 "4 | 2 | 4 | 1 | 10"在 JavaScript 中返回 15?

javascript - 防止动画进行时多次点击(stopPropagation & :animated)

javascript - 通过id属性的部分值获取div

javascript - CSS更改动画持续时间而不跳转

javascript - 如何将选择选项显示到新附加的选择选项

Javascript 将对象插入数组

javascript - 根据用户点击的链接更改提示文本

Javascript AMD 模式混淆 - 持久化属性值

javascript - 从 JavaScript 表单保存数据

jquery - Asp.Net MVC 中的 Ajax 返回问题