用 Lo-Dash 替换 underscore

简介: 我用Lo-Dash替换Underscore已经有一段时间了。Lo-Dash更快,支持AMD,并且拥有Underscore所缺乏的特性。同时,Lo-Dash和Underscore是100%兼容的,所以如果你使用依赖Underscore的库(例如Backbone),或者你现有的代码已经使用了Underscore,那么只需改用Lo-Dash,立刻就能获得性能上的优势。这真是太棒了!

我用Lo-Dash替换Underscore已经有一段时间了。Lo-Dash更快,支持AMD,并且拥有Underscore所缺乏的特性。同时,Lo-Dash和Underscore是100%兼容的,所以如果你使用依赖Underscore的库(例如Backbone),或者你现有的代码已经使用了Underscore,那么只需改用Lo-Dash,立刻就能获得性能上的优势。这真是太棒了!

image.png

lazy.js同样声称“类似Underscore,但是使用惰性求值”,并发布了一些令人印象深刻的速度比较。这已经足够引起人们的兴趣了,而且lazy.js看上去就是一个有趣的库。但是我想提醒大家注意一些事实。

让我们看看lazy.js上的第一个速度比较的图片:

image.png

Lazy.js的速度相当地令人印象深刻,但是你也应该注意到 Lo-Dash 同样比 Underscore 高得多。 大概是四五倍,甚至更多。现在看看左边的数据,那是每秒能完成的操作。这些柱状图形很小,但是它们代表的数字可是相当巨大!那是每秒几十万次操作和每秒几百万次操作的差距。


是的,Lazy.js要快得多,但是Lo-Dash也比Underscore要快得多,而且最重要的是 Lo-Dash 可以直接替换 Underscore,不会带来兼容性问题。


没有什么值得争论的。如果你使用Underscore,不管在哪里使用(包括 Node.js),你应该花上几分钟切换到 Lo-Dash。没有任何理由不这么做。相反,有很多非常好的理由让你这么做(最主要的是速度的提升)。这些好处唾手可得。


呃,我是不是忘了说了,Lo-Dash以后也会有惰性求值

相关文章
|
5月前
Turndown 源码分析:三、规则集`rules.js` REV1
Turndown 源码分析:三、规则集`rules.js` REV1
44 0
|
12月前
49Vue - 修饰符(.lazy /.number/.trim)
49Vue - 修饰符(.lazy /.number/.trim)
40 0
|
2月前
|
前端开发 JavaScript
去除router-link中的下划线
这篇文章介绍了如何在Vue.js中去除`<router-link>`元素的默认下划线样式,通过全局CSS覆盖来保持页面样式的整洁。
去除router-link中的下划线
|
4月前
|
JavaScript 前端开发
JS中split的用法
JS中split的用法
53 1
|
12月前
|
前端开发
26avalon - 指令ms-duplex(各表单元素用法)
26avalon - 指令ms-duplex(各表单元素用法)
46 1
|
11月前
router-link中的to带不带引号有啥区别?
router-link中的to带不带引号有啥区别?
|
Web App开发 JavaScript 前端开发
Edge浏览器报错IE解决 Expected identifier, string or number 配置 babel vue plugins Preset
Edge浏览器报错IE解决 Expected identifier, string or number 配置 babel vue plugins Preset
324 0
|
前端开发 PHP
TP5 使用strip_tags过滤html标签不起作用的解决方法
TP5 使用strip_tags过滤html标签不起作用的解决方法
271 0
|
存储 物联网 5G
【5G NR】NGAP协议之NG Setup
NG Setup过程用来交换NG-RAN节点和AMF在NG-C接口上正确互操作所需的应用程序级数据。该程序为TNL关联开始运行后触发的第一个NGAP程序。该过程使用非UE相关的信令。
792 0
【5G NR】NGAP协议之NG Setup