gpt4 book ai didi

JavaScript for 循环性能 - 在函数内部更好?

转载 作者:行者123 更新时间:2023-12-04 00:39:00 25 4
gpt4 key购买 nike

场景 1:

console.time("loop");
for (var i = 0; i < 1000000; i += 1){
// Do nothing
}
console.timeEnd("loop");

在 Chrome 的控制台中运行,这将返回 apx 450 毫秒左右。

场景 2:

function test() {
console.time("loop");
for (var i = 0; i < 1000000; i += 1){
// Do nothing
}
console.timeEnd("loop");
}
test();

运行 代码是 Chrome 的控制台,通常 < 1 毫秒。我从 Node interview questions 上的一篇文章中得到这个函数示例.我知道函数的循环 outsidei 解析为窗口对象,而相同的循环 inside 函数作用域 i 本地 - 因此性能提高。

我的问题是,如果可能的话,将循环放入函数中是否是一个好习惯?这种性能提升很诱人,但在函数中总是有循环似乎很奇怪,因为我已经没见过这样的代码。

最佳答案

答案是将所有代码放入函数中是一种很好的做法。您应该在全局范围内编写很少的代码。

虽然这可能会像您显然指出的那样提高性能,但这样做的原因是因为它阻止您将属性放在窗口上,这可能会导致与其他库的名称冲突。

所以,是的,这是一个很好的做法,但不仅仅是因为这个原因。

http://markdalgleish.com/2011/03/self-executing-anonymous-functions/

http://esbueno.noahstokes.com/post/77292606977/self-executing-anonymous-functions-or-how-to-write

What is the purpose of a self executing function in javascript?

关于JavaScript for 循环性能 - 在函数内部更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31571140/

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