我使用的是swipejs.com中的swipejs,主页滑块使用此逻辑来突出显示事件的无序列表元素,我想知道条件处理的情况。

<ul id="bullets">
   <li></li>
    ....
</ul>

var bullets = document.getElementById('bullets').getElementsByTagName('li');

var elem = document.getElementById('mySwipe');

window.mySwipe = Swipe(elem, {

callback: function(index, element) {
    var i = bullets.length;
    while (i--) {
      bullets[i].className = ' ';
    }
    bullets[index].className = 'on';
  }

});

最佳答案

var i = bullets.length;
while (i--) {
    ...do stuff...
}

本质上等效于:
var i = bullets.length;
while (true) {
    if (i === 0) {
        i = i - 1;
        break;
    }
    i = i - 1;
    ...do stuff...
}

在性能非常重要的地方,通常会使用这种循环样式,因为它比从0length-1的索引迭代要快一些,并且实现起来相对简单。

一般而言,除非您正在改善已知的瓶颈并且已经证实它可以显着改善性能,否则不应该使用它。

关于javascript - while(i--)在javascript中是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22181713/

10-09 14:05