我正在研究“setTimeout”函数。此代码按预期运行:
function myFunction() {
console.log('test');
setTimeout(myFunction, 1000);
}
myFunction();
它将每隔一个“测试”打印到控制台。
但是当运行此代码时,超时不会等待:
function myFunction() {
console.log('test');
setTimeout(myFunction(), 1000);
}
myFunction();
它用“测试”向我的控制台发送垃圾邮件。
代码中唯一的区别是 myFunction() 调用的括号。为什么会发生这种情况?
这是因为通过包含括号,您实际上是执行函数并传递它result to setTimeout
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)