天天看點

JS程式設計建議——8:謹慎使用運算符(2)

建議8:謹慎使用運算符(2)

++和--運算符隻能夠作用于變量、數組元素或對象屬性。下面的用法是錯誤的。

4++;

正确的用法如下:

var n = 4;

n++;

++和--運算符的位置不同所得運算結果也不同。例如,下面的遞增運算符是先執行指派運算,然後再執行遞加運算。

n++; // 4

而下面的遞增運算符是先執行遞加運算,再進行指派運算。

++n;

3.小心逗号運算符

逗号在JavaScript語言中表示連續運算,并傳回最後運算的結果。例如,在下面這個示例中,JavaScript先運算第一個數值直接量,再運算第二個數值直接量,然後運算第三個數值直接量,最後運算第四個數值直接量,并傳回最後一個運算值4。

var a = ( 1, 2, 3, 4);

alert(a); //4

再如:

a = 1, b = 2, c = 3;

等價于:

a = 1;

b = 2;

c = 3;

作為運算符,逗号一般用在特殊環境中,即在隻允許出現一個句子的地方,把幾個不同的表達式句子合并成一個長句。在JavaScript實際開發中,逗号運算符常與for循環語句聯合使用。例如,在下面這個簡單的for循環結構中,通過連續的運算符在參數表達式中運算多個表達式,以實作傳遞或運算多個變量或表達式。

for(var a = 10 , b = 0; a > b; a++ , b+=2){

document.write("a = " + a +" b = " + b + "

");

}

逗号運算符比較“怪異”,稍不留心就會出錯。例如,在下面這個簡單的示例中,變量a的傳回值為1,而不是連續運算後的傳回值4。

a = 1, 2, 3, 4;

alert(a); //1

第一個數值1先指派給變量a,然後a再參與連續運算,整個句子的傳回值為4,而變量a的傳回值為1,代碼示範如下:

alert((a = 1, 2, 3, 4)); //4

alert(a = (1, 2, 3, 4)); //4

繼續閱讀