如果这是一个愚蠢的问题,我道歉,但我无法在任何地方找到答案。
以下代码如何运作? (我意识到它遍及els
)
var i = els.length;
while (i --> 0) {
var el = els[i];
// ...do stuff...
}
我不知道-->
的含义。它没有文档。有人可以开导我吗?
答案 0 :(得分:7)
应该被理解为
i-- > 0
所以,真正发生的是,
i
的值如果大于0则会被检查,如果是,则控件将进入while
块,如果为false while
块将是跳过。
无论哪种方式,i
的值将在检查条件后递减,立即。
当我们使用计数器运行循环时,使用for
循环总是更好,就像这样
for (var i = els.length - 1; i >= 0; i -= 1) {
...
}
答案 1 :(得分:4)
这只是奇怪的间距,应该是
while((i--) > 0)
它只是后递减和检查条件。 在C++问题上有这个幽默的答案,但我认为它被删除了
while (x --\
\
\
\
> 0) //i goes down to zero!
或类似的东西,无论如何
所以,如果你有像
这样的东西var i=3;
while(i-->0){
console.log(i);
}
它将返回
2
1
0
答案 2 :(得分:0)
这只是奇怪的间距。它与
相同while (i-- > 0) {
答案 3 :(得分:0)
代码应该是:
while (i-- > 0) {
如果变量i
之后的值已经递减,则循环将在其中运行。