js优化之细节(for 循环)
2013-07-23 16:16
176 查看
刚开通的博客,总不至于空空如也,写点东西吧。
写些什么呢?想想,就这个吧,字数少,省些手力
谈谈循环算法之for循环,
假设一个三成员数组数组nameList:
var nameList = ['aa', 'bb', 'cc'];
然后总要干些物事,那就dealing吧
var dealing = function(args) {
//TODO
}
常规来说,我们喜欢这么写着
for( var i = 0, l = nameList.length; i < l; i++ ) {
dealing(nameList[i]);
}
/*愚蠢的人类,不要写成for (var i = 0; i < nameList.length; i++),都懂的,嘎嘎*/
怎么个执行机理都懒得解释,应该明白
这么写好么,至少大多数人是这么写的,但或许你可以尝试性能更好的,如果顺序无关,看看这个
for( var i = nameList.length; i--; ) {
dealing(nameList[i]);
}
少些内存占用和运算,当然也少些字节,要知道至少现在的js大多宿主是一个吃带宽的浏览器上,少些总是有那么些用处的
抑或顺序相关,那就这办
for( var i = 0; nameList[i]; ) {
dealing(nameList[i++]);
}
当然我只说这是运行在js环境下的代码,强类型语言自然会抛些数组溢出之流的错误,这个不管,说好了的前端呢
写些什么呢?想想,就这个吧,字数少,省些手力
谈谈循环算法之for循环,
假设一个三成员数组数组nameList:
var nameList = ['aa', 'bb', 'cc'];
然后总要干些物事,那就dealing吧
var dealing = function(args) {
//TODO
}
常规来说,我们喜欢这么写着
for( var i = 0, l = nameList.length; i < l; i++ ) {
dealing(nameList[i]);
}
/*愚蠢的人类,不要写成for (var i = 0; i < nameList.length; i++),都懂的,嘎嘎*/
怎么个执行机理都懒得解释,应该明白
这么写好么,至少大多数人是这么写的,但或许你可以尝试性能更好的,如果顺序无关,看看这个
for( var i = nameList.length; i--; ) {
dealing(nameList[i]);
}
少些内存占用和运算,当然也少些字节,要知道至少现在的js大多宿主是一个吃带宽的浏览器上,少些总是有那么些用处的
抑或顺序相关,那就这办
for( var i = 0; nameList[i]; ) {
dealing(nameList[i++]);
}
当然我只说这是运行在js环境下的代码,强类型语言自然会抛些数组溢出之流的错误,这个不管,说好了的前端呢
相关文章推荐
- JS--for循环的性能优化
- JS之for循环优化
- JS中for循环优化问题
- 前端性能优化:jquery的each为什么比原生的for循环慢很多?
- jquery的each和js原生for循环性能对比
- js 数组的for循环到底应该怎么写?
- js中的循环遍历数组中的元素,ES6(for-of)、ES5(forEach、for-in)、通用(for(i=0;i<length;i++))
- js中for定时输出循环输出某一数组
- android 对for循环进行优化
- 【Java语言】嵌套For循环性能优化案例
- JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
- 从 for 循环入手优化性能
- C++的for循环细节,必看!
- 嵌套 for循环优化
- 170106、用9种办法解决 JS 闭包经典面试题之 for 循环取 i
- java性能优化之for循环
- vue.js中的列表渲染(循环渲染)(v-for)
- 菠菜程序下载 js的for循环中异步请求
- Java之for循环优化方式-
- js中for循环变量的作用域