2014-05-22 75 views
0

下面是示例代碼:神交前和後增量

for(var i = 0; i<10; i++){ 
    console.log(i); 
} 

var x = 20; 
switch(x++){ 
    case 20: 
    console.log("20 " + x++); 
    break; 
    case 21: 
    console.log("21 " + x++); 
    break; 
    default: 
    console.log(x++); 
    break; 
} 

在後置的情況下,兩個的console.log(表達)和開關(表達){}得到遞增前的值。 在我的例子中,我得到了「20 21」作爲switch語句的結果。

爲什麼在for循環中,如果我使用post-preincrement,它並不真正metter?

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for – Andreas

回答

1

爲了幫助您瞭解發生了什麼,你可以重寫for循環

for (var i = 0; i < 10; i++) { 
    console.log(i); 
} 

while循環一樣

var i = 0; 
while (i < 10) { 
    console.log(i); 
    i++; 
} 

Imagening它作爲一個while循環可能會更清楚,爲什麼它不要緊,如果你寫i++++i

2

看,做增量聲明:

i++ 

沒有與返回值來完成。它沒有分配給一個變量。它沒有傳遞給一個函數。

如果在增量之前或之後獲取返回值並不重要,因爲它被忽略。