JavaScript for循环性能-在函数中更好
JavaScript for loop performance - better inside a function?
场景一:
console.time("loop");
for (var i = 0; i < 1000000; i += 1){
// Do nothing
}
console.timeEnd("loop");
在Chrome的控制台中运行,这将返回apx 450ms左右。
场景2:
function test() {
console.time("loop");
for (var i = 0; i < 1000000; i += 1){
// Do nothing
}
console.timeEnd("loop");
}
test();
Run 这个代码是Chrome的控制台,它通常是<1毫秒。我从一篇关于Node面试问题的文章中获得了这个函数示例。我理解函数外部的循环将使i
解析为窗口对象,而内部的相同循环局部作用于i
-因此性能提高。
我的问题是,在可能的情况下将循环放入函数中是好的做法吗?这种性能提升是诱人的,但是在函数中总是有循环似乎很奇怪,因为我没有见过这样的代码
答案是,将所有代码放入函数中是一种良好的实践。您应该在全局作用域中编写很少的代码。
正如您所指出的那样,这样做可能会带来性能提升,但这样做的原因是它可以阻止您在窗口上放置可能导致与其他库名称冲突的属性。
所以,是的,这是一个很好的实践,但不仅仅是这个原因。
http://markdalgleish.com/2011/03/self-executing-anonymous-functions/http://esbueno.noahstokes.com/post/77292606977/self-executing-anonymous-functions-or-how-to-writejavascript中自执行函数的目的是什么?
相关文章:
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- 更好的写法 NodeJS 读/写文件的函数
- 重复我的jQuery中的函数,有更好的方法吗
- 在创建 toLowerCase 函数时,一种方式比另一种方式更好
- 有没有更好的方法以一定的顺序执行一堆部分异步的jQuery函数
- 如何更好地找到GoodMax函数
- 通过匿名函数使用 setInterval 的更好方法
- JavaScript 自定义事件或普通函数调用中哪个更好
- Angular 1.3 中是否有更好的模式,可以在每次修改 ng-repeat 中的项目时调用函数
- 哪个更好:调用函数或完整、内联键入脚本
- JavaScript:有没有更好的方法来使用回调函数做一个for循环
- 有没有更好的方法来避免在渲染时重新创建函数
- 缓存值或调用函数 - 更好
- 如何为此 jquery 代码使用函数参数,或者是否有更好的解决方案
- Javascript:有没有更好的方法在x次异步数据库/ ajax调用后执行函数
- 匿名函数与命名函数哪个更好,为什么
- 有两个函数更好的做法,还是有一个复杂的函数
- 这是定义函数更好的方法
- 哪种方式在javascript中传递函数更好
- 是使用onclick调用函数更好,还是使用.click绑定事件更好?