Ant*_*nio 9 javascript performance mootools for-loop
我正在将mootools从1.3.2更新到1.4.1.我看到了一个奇怪的变化.由此
for (var i = 0, l = this.length; i < l; i++){....
Run Code Online (Sandbox Code Playgroud)
对此
for (var i = 0, l = this.length >>> 0; i < l; i++){
Run Code Online (Sandbox Code Playgroud)
以这种方式使用的">>>"运算符如何提高性能?你怎么看待这件事?
在>>>按位操作者之间和包括0和有界的2^32-1(4294967295).通过使用using >>>,框架确保循环不会执行近乎无限的时间.
PS.代码的上下文:
Array.implement({every: function(fn, bind){
for (var i = 0, l = this.length >>> 0; i < l; i++){
if ((i in this) && !fn.call(bind, this[i], i, this)) return false;
}
Run Code Online (Sandbox Code Playgroud)
由于i初始化为零,并且增加整数1,并且length属性始终为整数,因此不存在负面副作用.该>>>方法的另一个应用是舍入,将十进制数转换为整数.