ECMAScript5中数组方法的性能问题

来源:互联网 发布:linux 设置命令别名 编辑:程序博客网 时间:2024/06/04 18:31

经常在Codewars打怪升级,练习JS的时候很喜欢使用ES5中的一系列数组方法。

比如filtermapreduce这样的函数式方法。

可以达到精简代码的目的。

然而,在一次提交代码的过程中,我突然萌生一种想法。

看不使用ES5的方法,纯for循环,性能会不会提升。

然后,我把函数式代码通通改为for循环,提交测试。

结果让我很吃惊,上百个测试用例,for循环提交后的性能有明显的提升。

于是,我不得不猜测,ES5包装后的语法糖,为什么会这么慢。

凭我的个人经验,猜测有2点原因:

1. 这些方法讲究纯净性,开辟新数组装元素,而不是直接操作原数组,牺牲了性能。

2. 这些方法作为标准方法,肯定有大量的异常情况验证,这些验证也是导致性能降低的原因。

当然,实际开发中,基本上不会遇到使用ES5方法会导致性能明显降低的情况。

只有数据量非常大的时候,才有这样的现象。

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一条根贴布 布贴小花 衣服贴布 墙面贴布价格 贴布毛边绣 制作布贴 花朵布贴 补布贴 大嘴猴布贴 白色布贴 布贴徽章 儿童贴布画 如何做布贴 贴布t恤 皮衣布贴 贴布绣字母 贴布包包 衣服 布贴 贴布刺绣 布贴刺绣 贴布绣花工艺 称斤布贴 鞋布贴 肌内效贴布 脚踝 遮光贴布 贴布缝 汽车贴布 什么是贴布绣 时尚布贴怎么用 布贴使用方法 弹性贴布 名字贴布 龙布锋贴 幼儿名字布贴 包包布贴 徽章 布贴 水溶布贴怎么用 贴布绣 英语 肌内效贴布多少钱 布贴怎么贴 贴布面料