繁体   English   中英

未捕获的ReferenceError:未定义xyz

[英]Uncaught ReferenceError: xyz is not defined

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

例:

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM