JavaScript 數學運算子 特殊字元 純數字字串
阿新 • • 發佈:2018-12-11
數學運算子 +, - ,* ,/ ,%, ()
運算順序: 先算乘除取餘,再加減, 又小括號的先算小括號。
正常運算大家都會,這裡我主要講一講純數字字串 和 特殊字元(boolean,null, undefined, infinity, NaN)等
1. 純數字的字串也可以運算。只不過除了加法意外,都會進行隱式轉換。 就是說我們不需要把它們進行格式轉換,可以直接計算。
例如:
console.log ( "20" - 2); //result: 18
console.log ( "20" * 2); //result: 40
console.log ( "20" / 2); //result: 10
console.log ( "20" % 2); //result: 0
2. 特殊字元 true, false, null 在進行乘法,加法同樣會進行隱式轉換。
它會將 true = 1; false=0; null=0;
例如:
console.log ( 5 * true); //result: 5 console.log ( 5 * false); //result: 0 console.log ( 5 * null); //result: 0 console.log ( 5 + true); //result: 6 console.log ( 5 + false); //result: 5 console.log ( 5 + null); //result: 5
3. undefined和其他字元粗漢與數字進行數學運算(除了加法),結果都是NaN(not a number)
例如:
console.log ( 5 * undefined); //result: NaN console.log ( 5 * "Hello"); //result: NaN
但是 如果是進行加法:
console.log ( 5 + undefined); //result: NaN console.log ( 5 + "Hello"); //result: 5Hello (這裡是拼接)
同樣,如果NaN與數字進行數學運算,結果還是NaN
例如:
console.log ( 1 + NaN); //result: NaN console.log ( 1 - NaN); //result: NaN console.log ( 1 * NaN); //result: NaN console.log ( 1 / NaN); //result: NaN console.log ( 1 % NaN); //result: NaN
Infinity與數字進行數學運算,結果是什麼呢?
例如:
console.log ( 1 + Infinity); //result: Infinity console.log ( 1 - Infinity); //result: -Infinity console.log ( 1 * Infinity); //result: Infinity console.log ( 1 / Infinity); //result: 0 console.log ( 1 % Infinity); //result: 1
如有錯誤,請留言指教,謝謝。