为什么-1是假的? - 为(

Two*_*One 4 javascript for-loop

for loop波纹管按预期工作,但我不明白为什么.

for (var i = 10;i--;) { 
    console.log("i: " + i); 
}
Run Code Online (Sandbox Code Playgroud)

控制台:>> 9,8,7,6,5,4,3,2,1,0

我用谷歌搜索了假值:0和-0 ..(-0是什么意思?)但是如果0被认为是假的,为什么for循环会被它评估?实际上,原始代码示例实际上如下所示:

for (var i = e.length; i--; )
    e[i].apply(this, [args || {}]);
Run Code Online (Sandbox Code Playgroud)

它看起来很酷,但我不知道为什么它有效.

Rob*_*ale 7

for条件中

for (var i = 10;i--;) { 
    console.log("i: " + i); 
}
Run Code Online (Sandbox Code Playgroud)

在减少之前i评估(由于后减量运算符).因此,条件为1,实际打印时为0.