javascript - this指针和闭包那个性能更好?
PHP中文网
PHP中文网 2017-04-11 11:54:09
[JavaScript讨论组]

在编程的时候经常会遇到this指针和闭包同时存在的问题。如下面的代码所示。
【1】使用这两种方法都能解决问题,但是那个性能会更好些。怎么分析?
【2】在使用第二种方法中,使用了bind改变了this指针后,是否仍相对于test函数形成闭包?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(6)
ringa_lee

一条直路,你要绕一下那肯定慢!

巴扎黑

200倍以上,果断不能用!

巴扎黑

必然是第一种性能好...原因是call,apply,bind这种绑定this的操作非常耗性能...

阿神

闭包好一点,除非你用that保留this,不然this丢失了你分分钟都不能debug出来

PHP中文网

这个问题意义不大,JS不像Java,没有bytecode和stack machine定义,就是说,看实现;而且现代JS编译器都是inline caching的,对于过于简单的代码都很快做到hot path optimization,real world性能和前面那样简单的benchmarking,相去甚远。闭包在很多时候是非常方便和易懂的,该用就用。

伊谢尔伦

你在 node 里面跑跑试试,我在 6.3.1 里跑,高票答案的 func1 和 func2 调整顺序会有惊喜,至于为什么,自己去查把,不要人云亦云。

另外 Bind 并非不能用,看你用在哪。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号