嗨,我有一個JavaScript代碼,這樣期間減法
var a=10;
var b="100";
document.write(b-a);
其實它應該顯示當我們減去一個字符串的數字,但它顯示爲90的輸出,但是當我們做了一個錯誤的Javascript意外的行爲b + a它將10010顯示爲輸出,這是什麼行爲。
嗨,我有一個JavaScript代碼,這樣期間減法
var a=10;
var b="100";
document.write(b-a);
其實它應該顯示當我們減去一個字符串的數字,但它顯示爲90的輸出,但是當我們做了一個錯誤的Javascript意外的行爲b + a它將10010顯示爲輸出,這是什麼行爲。
當你減,由於沒有爲String定義的-
操作,因此Javascript嘗試將字符串b
轉換爲Number。
當您使用+
符號時,Javascript會嘗試將數字a
強制轉換爲字符串,因爲+
被定義爲字符串的拼接。
的-
運營商在JavaScript只適用於數學,所以你的瓦爾都轉換成數字。如果您嘗試執行無效的數學運算,您將只會收到錯誤(或更具體地說是NaN
),例如100 - 'a'
。該+
運營商都有效字符串和數字,所以它的行爲的變化:
謝謝很好的解釋... – Prabhavith 2012-03-19 07:18:06