请问javascript的性能瓶颈是什么?

发布于 2022-09-04 12:50:44 字数 119 浏览 17 评论 0

今天被问到一个问题:javascript的性能瓶颈是什么?作为一个菜鸟就直接就闷逼了。

我知道js性能优化需要考虑:作用域、原型链、优化循环、DOM操作、使用事件代理等等。那么它的瓶颈是什么呢,该如何理解?

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

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

发布评论

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

评论(1

场罚期间 2022-09-11 12:50:44

谢邀

作用域链,当查找一个变量时,先在当前作用查找,就会沿作用域链到上层作用域查找,直到全局作用域,查找的越深,性能越差;
原型链查找,当查找一个对象属性时,会先查找当前对象的实例属性,如果没有找到则去查找原型上有没有,如果原型上没有,则会查找原型的原型,直到查找到顶级Object,查找的越深,性能越差;
循环:有些可能一层循环就可以搞定,就不必用两层;还有循环中有时会用length,for(var i=0; i<arr.length; i++),每一次循环都会求值一次arr.length,性能就不如for(var i=0,len=arr.length; i<len; i++)
DOM操作,DOM操作是很耗费性能的,如果有大量更新DOM,我们可以在js中统一更新后,再一次更新到页面中,减少重绘和回流的次数
事件代理,如果在一个10000项的列表中每一个都绑定一个匿名函数会导致耗费过多内存,如果我们使用代理就只需要在祖先级的标签上绑定一个事件,根据冒泡原理,可以减少内存,提高性能

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