优化JavaScript:深入解析for循环与Underscore.js的效率提升
JavaScript实战书籍:《你不知道的JavaScript》深入解析 #生活技巧# #工作学习技巧# #编程学习资源#
深入探究深入探究JavaScript中中for循环的效率问题及相关优化循环的效率问题及相关优化
Underscore.js库库
你一天(一周)内写了多少个循环了?
var i;
for(i = 0; i < someArray.length; i++) {
var someThing = someArray[i];
doSomeWorkOn(someThing);
}
这当然无害,但这种写法非常丑而且奇怪,这也不是真正需要抱怨的。但这种写法太平庸了。
var i,
j;
for(i = 0; i < someArray.length; i++) {
var someThing = someArray[i];
for(j = 0; j < someThing.stuff.length; j++) {
doSomeWorkOn(someThing.stuff[j]);
}
}
你在扩展糟糕的代码,在你抛出一大堆if前,你已经精神错乱了。
我在两年里没有写一个循环(loop)。
“你在说什么?”
这是真的,一个冷笑话。其实不是一个都没有(好吧,我确实写了几个),因为我不写循环(loops),我的代码更容易理解。
怎么做的呢?
_.each(someArray, function(someThing) {
doSomeWorkOn(someThing);
})
或者更好一点:
_.each(someArray, doSomeWorkOn);
这就是underscorejs所做到的。干净,简单,易读,短,没有中间变量,没有成堆的分号,简单非常优雅。
这是另外一些例子。
var i,
result = [];
for(i = 0; i < someArray.length; i++) {
var someThing = someArray[i];
// 打到这,我已经手疼了
if(someThing.isAwesome === true) {
result.push(someArray[i]);
}
}
同样,一个使用循环浪费时间的典型用例。即便这些网站是宣传禁烟和素食主义的,看到这些代码我也感到义愤。看看简单的写法。
var result = _.filter(someArray, function(someThing) {
return someThing.isAwesome === true;
})
像underscore中的filter(过滤)的名字那样,随手写的3行代码就可以给你一个新的数组(array)。
或者你想把这些数组转换成另外一种形式?
var result = _.map(someArray, function(someThing) {
return trasformTheThing(someThing);
})
上面三个例子在日常生活中已经够用了,但这些功能还不足矣让underscore放到台面上。
var grandTotal = 0,
somePercentage = 1.07,
severalNumbers = [33, 54, 42],
i; // don't forget to hoist those indices;
for(i = 0; i < severalNumbers.length; i++) {
var aNumber = severalNumbers[i];
grandTotal += aNumber * somePercentage;
}
underscore版本版本
网址:优化JavaScript:深入解析for循环与Underscore.js的效率提升 https://www.yuejiaxmz.com/news/view/612521
相关内容
深入解析算法效率核心:时间与空间复杂度概览及优化策略ArcGIS API for Javascript 应用开发入门
JavaScript 实用技巧:提高开发效率与代码质量
Matlab的for循环优化
15个每位开发者都应该知道的JavaScript性能优化技巧
JavaScript常用优化分享(三)
LSL脚本性能优化秘籍:代码剖析与效率提升策略
效率提升
无线网络优化的深入解析
全面掌握JavaScript编程技巧,从入门到精通的JS使用教程助你快速提升开发能力
随便看看
- 以劳动树德,以实践砺心,为弘扬劳动精神,充分发挥实践育人实效,机械工程与自动化学院开展“劳育砺人”寒假社会实践活动,厚植机械学子崇尚劳动、敬畏劳动的良好品质,发挥劳动教育在立德树人中的重要作用。以下为“劳育砺人”社会实践成果展示: 23新能源03班 杜思宇 在繁忙的学习生活中,我时常忽视了生活中的一些细节。然而,通过参与家务劳动,我深刻体会到了家务劳动的魅力与价值,它不仅教会了我生活中的技能,更让我明白了责任与担当的意义。 22材料01班 高佳媛 劳育不仅仅是体力劳动,更是一种对生活的敬畏和热爱。通过参与
- 懒人生活妙招
- 更多的便利 ! 善用智能科技,舒适的生活唾手可得
- 智能家居与生活方式改变考核试卷.docx
- 感叹号图标。自动化图标通用设置为网络和移动图片

