gpt4 book ai didi

jquery - 重复 setTimeout() 1 毫秒

转载 作者:行者123 更新时间:2023-12-03 22:52:10 25 4
gpt4 key购买 nike

以下是 jQuery 源 (bit.ly/jqsource) 中的一段代码:

// The DOM ready check for Internet Explorer
function doScrollCheck() {
if ( jQuery.isReady ) {
return;
}

try {
// If IE is used, use the trick by Diego Perini
// http://javascript.nwbox.com/IEContentLoaded/
document.documentElement.doScroll("left");
} catch(e) {
setTimeout( doScrollCheck, 1 );
return;
}

// and execute any waiting functions
jQuery.ready();
}

这是一个检测 DOM 何时为 IE 做好准备的 hack。虽然理论上这看起来非常漂亮,但我有点担心 setTimeout( doScrollCheck, 1 );,这意味着函数 doScrollCheck() 每秒被调用 1000 次在 DOM 准备好之前。

我应该预计这会造成巨大的性能消耗吗?

最佳答案

setTimeout 函数几乎永远在请求的时间被调用。浏览器可以自由地对时间进行至少几毫秒的+/-调整,如果有任何其他密集工作正在进行,那么它可能会延迟或更多。正如其他人已经提到的,浏览器还实现了最小超时时间。这 1 毫秒只是告诉浏览器“一旦您完成了正在做的事情,请告诉我,以便我可以做一些事情”。它还从 Javascript 中产生执行,以便浏览器可以返回执行下一步要做的事情。

关于jquery - 重复 setTimeout() 1 毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7175879/

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