1. 程式人生 > >JavaScript 數學運算子 特殊字元 純數字字串

JavaScript 數學運算子 特殊字元 純數字字串

數學運算子 +, - ,* ,/ ,%, ()

運算順序: 先算乘除取餘,再加減, 又小括號的先算小括號。

正常運算大家都會,這裡我主要講一講純數字字串 和 特殊字元(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

 

如有錯誤,請留言指教,謝謝。