我很抱歉如果這是一個愚蠢的問題,但我無法在任何地方找到答案。while(i - > 0)是什麼意思?
以下代碼是如何工作的? (我知道這遍歷的els
元素)
var i = els.length;
while (i --> 0) {
var el = els[i];
// ...do stuff...
}
我不知道-->
手段。沒有它的文檔。有人能夠啓發我嗎?
我很抱歉如果這是一個愚蠢的問題,但我無法在任何地方找到答案。while(i - > 0)是什麼意思?
以下代碼是如何工作的? (我知道這遍歷的els
元素)
var i = els.length;
while (i --> 0) {
var el = els[i];
// ...do stuff...
}
我不知道-->
手段。沒有它的文檔。有人能夠啓發我嗎?
應讀作
i-- > 0
那麼,到底發生了什麼就是,i
值將被檢查是否大於0,如果是真的,那麼控制進入while
塊,如果它是假while
塊將被跳過。
無論哪種方式,的i
值將遞減,立即條件檢查後。
它總是更好地使用for
循環,當我們運行一個循環有一個計數器,這樣
for (var i = els.length - 1; i >= 0; i -= 1) {
...
}
值在減量之前檢查值。如果它被寫爲'--i> 0',那麼在遞減之後將檢查該值。 – sbking
@Cuberto這就是爲什麼我提到減少後。 :) – thefourtheye
你確實提到了「post decremented」,但是你通過說「然後會檢查該值」來混淆它,這會使得它聽起來像在遞減之後發生的那樣... – nnnnnn
這只是奇怪的間距。這是一樣的
while (i-- > 0) {
這只是奇怪的間距,應
while((i--) > 0)
它只是遞減後和檢查的條件。 有在C++問題,這個幽默的回答,但我認爲它刪除了
while (x --\
\
\
\
> 0) //i goes down to zero!
或者類似的東西,反正
所以,如果你有這樣的事情
var i=3;
while(i-->0){
console.log(i);
}
它會返回
2
1
0
它是如此;-)但無論如何,你的答案共享這樣一個有趣的C++代碼值得upvoting) – zerkms
大聲笑...我剛剛讀了原來的答案和評論跟着它。 – thefourtheye
是的,我認爲我至少讀了一次所有的答案和評論 – scrblnrd3
這是我 - 大於0 – tewathia
A間距錯字確實得到4 upvotes? –
@RJJordan - 這不是間距錯字。它可能(可能)是用' - >'作爲一種僞「倒數」運算符形成箭頭的故意嘗試。整個陳述被解讀爲「我去零」... – nnnnnn