18910140161

在callHook中for循环,为什么声明两个变量

顺晟科技

2021-09-24 18:28:20

49

for (let i = 0, j = handlers.length; i < j; i++) {}=>for(let i = 0; i < handlers.length; i++){}有什么区别吗?


顺晟科技:

length是个属性,两种写法应该没有任何区别吧。求大佬指点

没必要纠结这些,不会有太大的差别。

自己觉得应该是在for循环中,为了不去每次循环都去在读取一遍数组来提高性能

要用第二种写法。种写法错误,理论上降低性能,纯属画蛇添足。

就是相当于一个缓存机制执行的结果是一样的就是100000000个数我的电脑是相差210ms循环数组小的话可以忽略不计,你可以自己循环一下试试

我验证了确实是在数组元素少时,差距不大但是多了还是有点性能上的区别

哈哈好的谢谢,就是突然看到了,不知道具体这个干了什么

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航