为什么在使用单引号定义此函数时会出现未定义的错误?
示例:
rotator.doStuff = function(num) {
//do stuff
rotator.timer = setTimeout('rotator.doStuff('+num+')',500);
}
答案 0 :(得分:2)
假设这是IIF的内容。
使用字符串时,rotator
将在全局范围内解析,并且在那里不可用,因此出错。
你应该试试这个。现在rotator
将在词汇范围内解决,从中可以访问它。
rotator.timer = setTimeout(rotator.doStuff.bind(rotator, num), 500);