Javascript扩展内建类型的利弊

发布于 2021-11-14 11:16:51 字数 589 浏览 881 评论 2

不知道大家熟不熟悉Underscore.js这个库,就是个实用工具集,提供各种便捷方法啥的。

我以前自己也写过此类工具集,不过不同的是:underscore并没有扩展内建类型,而我写的那个是扩展自建类型的。比如说方法filter,用于从数组中过滤元素:

underscore版本:

var array = [1, 2, 3, 4, 5, 6];
var evens = _.filter(array, function(num){ return num % 2 == 0; });

我自己的:

var array = [1, 2, 3, 4, 5, 6];
var evens = array.filter(function(num){ return num % 2 == 0; });
不知道大家对这两种有何意见,我个人是更喜欢后一种的,把对象的操作放置在对象内部。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千纸鹤带着心事 2021-11-19 13:47:21

我以前也偏向第二种方式,包括自己写的工具包也是直接扩展原生对象,觉得这样比较方便。不过经过时间的验证,还是第一种方式经得住考验,楼上说的是原因之一,还有就是利于工具包的维护,尽量减少工具包和原生js对象之间的耦合性。

狼亦尘 2021-11-19 11:25:12

如果一种库用改变内建类型的方式去添加函数,就可能会覆盖掉引用它的页面上的由用户所写的作用不同但却同名的属性值。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文