gpt4 book ai didi

javascript - 自调用函数中递归函数的 setTimeout()

转载 作者:数据小太阳 更新时间:2023-10-29 05:45:49 25 4
gpt4 key购买 nike

我想将我的代码作为一个 self 调用的匿名函数来分发,正如我看到的那样。此外,在我的代码中,我必须监视另一个库加载,以便我可以在它可用时使用它。

(function(window, document, undefined) {
staffHappens();
var initMyLib = function() {
if (typeof(myLib) == 'undefined') {
setTimeout("initMyLib()", 50);
} else {
useMyLib();
}
}
moreStaffHappens();
initMyLib(); //-> initMyLib is undefined
})(this, document);

怎么会出现这个错误呢? initMyLib 是否应该在封闭(自调用)函数的范围内?

最佳答案

setTimeout("initMyLib()", 50); 更改为 setTimeout(initMyLib, 50);

当您将字符串作为参数传递时,它会在超时触发时尝试对其求值,但它会在全局范围内运行。并且您的方法不存在于全局范围内。


演示在 http://jsfiddle.net/gaby/zVr7L/

关于javascript - 自调用函数中递归函数的 setTimeout(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8821765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com