未捕获的ReferenceError:未定义xyz

时间:2014-03-20 21:44:23

标签: javascript jquery

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

示例:

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

1 个答案:

答案 0 :(得分:2)

假设这是IIF的内容。

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

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

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