下面的 for 循环按预期工作,但我只是不明白为什么。
for (var i = 10;i--;) {
console.log("i: " + i);
}
控制台:>> 9,8,7,6,5,4,3,2,1,0
我在 google 上搜索了 falsy 值:0 和 -0 ..(-0 是什么意思?)但如果 0 被认为是 falsy,为什么要用它评估 for 循环? 实际上原始代码示例实际上是这样的:
for (var i = e.length; i--; )
e[i].apply(this, [args || {}]);
它看起来很酷,但我就是不明白它为什么会起作用。
最佳答案
在for
条件中
for (var i = 10;i--;) {
console.log("i: " + i);
}
i
before 被计算(由于后递减运算符)。因此它在条件中是 1,而当你实际打印出来时它是 0。
关于javascript - 为什么 -1 是假的? - 为了 (,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23971929/