call和apply的性能对比,意义不大,仅了解

以前看jQuery源码的时候有看到在源码的注释中有些过call的性能会比apply好,在lodash的源码中也同样的发现有call比apply性能更好的注释,这里我在jsperf上写了几个test case,验证了一下确实call比apply的性能更好。

0、lodash源码apply方法重写

call和apply的性能对比,意义不大,仅了解

1、无指向无参数对比:

call和apply的性能对比,意义不大,仅了解

2、有指向无参数对比:

call和apply的性能对比,意义不大,仅了解

3、无参数有指向:

call和apply的性能对比,意义不大,仅了解

4、有参数有指向对比:

call和apply的性能对比,意义不大,仅了解

总结: 在我们平时的开发中其实不必关注call和apply的性能问题,但是可以尽可能的去用call,特别是es6的reset解构的支持,call基本可以代替apply,可以看出lodash源码里面并没有直接用Function.prototype.apply,而是在参数较少(1-3)个时采用call的方式调用。

版权声明:本文内容由互联网用户投稿发布,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2211788188@qq.com 举报,一经查实,本站将立刻删除。如需转载请注明出处:https://www.wptmall.com/a/article/17480

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注