【发布时间】:2014-04-06 13:32:24
【问题描述】:
我正在使用来自swipejs.com 的 swipejs,主页滑块使用此逻辑来突出显示活动的无序列表元素,我想知道这个 while 条件是如何工作的。
<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';
}
});
【问题讨论】:
-
表示如果(i = i - 1)大于0,则继续循环,否则退出
-
--是后减量。因此,您的while循环将运行,并且每次在评估i之后,它都会从中减去一个。当i为零时,表达式将为假,循环将结束。 -
到目前为止,还没有人解决递减操作的微妙之处。大多数人都暗示不会有 i = 0 的迭代,这是不正确的。
-
@Tmdean:由于这是函数的结尾,并且
i不再使用,所以它既不在这里也不在那里。另外,我相信 zzzzBov 确实解决了这个问题。 -
@Tmdean,我希望你没有引用我原来的答案,因为我最初是向后递减的。
标签: javascript html while-loop