算數運算子與關係運算符_JavaScript-算數運算子
阿新 • • 發佈:2021-01-22
技術標籤:算數運算子與關係運算符
好好學習,天天向上
算術運算子
- + - * / % ()
- %: 取餘,取模,a / b = c 餘 d,就說 a % b = d
- 運算順序:先算乘除取餘、再算加減,有小括號先算小括號
算術運算子在正常情況下
1、加法 +
<script>
var result= 2 + 3;
console.log(result); // 結果為 5
</script>
2、減法
<script> var result= 3 - 2; console.log(result); // 結果為 1 </script>
3、乘法
<script>
var result= 3 * 2;
console.log(result); // 結果為 6
</script>
4、除法
<script>
var result= 3 / 2;
console.log(result); // 結果為 1.5
</script>
5、取餘
可以理解為,第一個數值除以第二個數值,如果能被整除返回為 0,不能被整出,得出的餘數輸出到上面,但不會大於大本身的數值
<script> var result = 99 % 3; console.log(result); // 結果為 0 var result2 = 98 % 3; console.log(result2); // 結果為 2 var result3 = 3 % 99; console.log(result3); // 除不盡,把自己給餘出來,結果為 3 </script>
示例:多個算術運算子
<script>
var a = 3;
var b = 4;
// ((a + b) / 5) = 1.4
// a * (3 / b + 2 * b) = 26.25
var result = ((a + b) / 5) + a * (3 / b + 2 * b);
console.log(result); // 結果為 27.65
</script>
算術運算子在非正常情況下
1、第一種情況
有特殊值字面量參與的運算
- NaN參與的運算:得到的結果都是NaN
- Infinity參與的運算,視情況而定
<script> console.log(NaN + 4); //NaN console.log(NaN % 4); // NaN console.log(Infinity + 4); // Infinity console.log(Infinity - 4); // Infinity console.log(Infinity * 4); // Infinity console.log(Infinity / 4); // Infinity console.log(Infinity % 4); // NaN console.log(-Infinity + 4); // -Infinity console.log(-Infinity % 4); // NaN console.log(4 / Infinity); // 0 console.log(4 % Infinity); // 4 console.log(Infinity + Infinity); // Infinity console.log(Infinity % Infinity); // NaN </script>
2、第二種情況
其他型別的資料參與數學運算
- 有字串參與的 + 運算:+ 號變為連字元將前後連線成整體字串
- 隱式轉換:除了字串參與的 + 運算,其他情況下,所有其他資料型別參與數學運算時, 計算機暗中將其他資料型別先自動轉換成數字型別,再參與運算,這個過程中不需要使用 parseInt()、Number() 等方法,過程是暗中進行,這就是一個隱式轉換的過程
隱式轉換
其他的資料型別會隱式轉換為數字型別
- 對應數字:純數字字串會轉為對應的數字"123"→123
- 轉換為 1: true
- 轉換為 0:false、null、 “”空字串、空白字串
- 轉換為 NaN:undefined、非空非純數字字串
<script>
// 字串
console.log(1 + "2"); // 12
console.log(1 - "2"); // -1
console.log(1 * "2"); // 2
console.log(1 / "2"); // 0.5
console.log(1 % "2"); // 1
console.log(1 - ""); // 1
console.log(1 - " "); // 1
console.log(1 - "12aaa"); // NaN
// 其他資料型別
console.log(1 + true); // 2
console.log(1 + false); // 1
console.log(1 + undefined); // NaN
console.log(1 + null); // 1
</script>