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

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

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

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

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

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

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

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

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