首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下划线中的find函数(JavaScript库)和普通的java脚本函数有什么不同?

下划线中的find函数(JavaScript库)和普通的java脚本函数有什么不同?
EN

Stack Overflow用户
提问于 2019-06-13 14:25:58
回答 2查看 156关注 0票数 1

我在我的JavaScript代码中使用了下划线函数,但是在生产环境中部署了我的站点之后。我意识到,普通的JavaScript函数比下划线函数占用的时间更少

如果它们使用相同的源(JavaScript),那么它们之间的主要区别是什么?

1.低分库函数

代码语言:javascript
复制
var value= _.find(array, function(elementInArray) {
            return elementInArray === ListOfArray;
        });

2.正规JavaScript函数

代码语言:javascript
复制
var value= array.find(function(elementInArray) {
            return elementInArray === ListOfArray;
        });
EN

回答 2

Stack Overflow用户

发布于 2019-06-13 14:35:10

下划线的编写考虑到了广泛的浏览器兼容性。在他们编写_.find()方法的时候,Array.find()到目前为止还不能在所有浏览器中使用。例如,它在大多数IE版本中都不可用。

因此,与以针对每个浏览器的JS引擎优化的方式直接实现Array.find相比,构建一个在所有主要浏览器中运行的方法需要一些开销。

票数 4
EN

Stack Overflow用户

发布于 2019-06-13 15:19:04

除了@fjc answer之外,这两个函数之间还有另一个很大的区别:

当您尝试调用本机Array.find时,它只能与返回TypeError的数组一起使用,例如:

代码语言:javascript
复制
con myString = 'a';
myString.find(e => e === 'a');

而你可以在这个例子中使用下划线find,它将返回未定义的,而不是抛出一个错误。因此,第一个后果是,您必须更加谨慎地使用本机Array.find,并在代码中添加适当的保护,检查您是否使用它,特别是使用将被动态实例化的变量进行数组调用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56574484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档