我在我的JavaScript代码中使用了下划线函数,但是在生产环境中部署了我的站点之后。我意识到,普通的JavaScript函数比下划线函数占用的时间更少
如果它们使用相同的源(JavaScript),那么它们之间的主要区别是什么?
1.低分库函数
var value= _.find(array, function(elementInArray) {
return elementInArray === ListOfArray;
});2.正规JavaScript函数
var value= array.find(function(elementInArray) {
return elementInArray === ListOfArray;
});发布于 2019-06-13 14:35:10
下划线的编写考虑到了广泛的浏览器兼容性。在他们编写_.find()方法的时候,Array.find()到目前为止还不能在所有浏览器中使用。例如,它在大多数IE版本中都不可用。
因此,与以针对每个浏览器的JS引擎优化的方式直接实现Array.find相比,构建一个在所有主要浏览器中运行的方法需要一些开销。
发布于 2019-06-13 15:19:04
除了@fjc answer之外,这两个函数之间还有另一个很大的区别:
当您尝试调用本机Array.find时,它只能与返回TypeError的数组一起使用,例如:
con myString = 'a';
myString.find(e => e === 'a');而你可以在这个例子中使用下划线find,它将返回未定义的,而不是抛出一个错误。因此,第一个后果是,您必须更加谨慎地使用本机Array.find,并在代码中添加适当的保护,检查您是否使用它,特别是使用将被动态实例化的变量进行数组调用
https://stackoverflow.com/questions/56574484
复制相似问题