为什么在用单引号定义此函数时会出现未定义错误?
示例:
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/