1. JavaScript的數學運算符
(1). 加法運算符 +
- 只要在加法運算中有一個值是string,那麽另一個值就算不是string,也會被轉換成string,完成加法運算。
如:let num = 9,word = ‘look’;
console.log(num + word); // 9look
(2). 減法運算符 -
- 無論減法運算中的值是什麽類型,Javascript都會使用Number()函數將此值轉換為一個數字,完成減法運算。
如:let num = 3,word = ‘2’;
console.log(num - word); // 1
(3). 乘法運算符 *
- 與減法相似,無論乘法運算中的值是什麽類型,Javascript都會使用Number()函數將此值轉換為一個數字,完成乘法運算。
如:let num = 3,word = ‘2’;
console.log(num * word); // 6
(4). 除法運算符 /
- 與減法相似。
如:let num = 6,word = ‘2’;
console.log(num / word); // 3
(5). 餘數運算符 %
- 餘數的正負符號與被除數的正負符號相同。
如:let num = 3,negNum = -3;
console.log(num % -2);//1
console.log(num % 2);//1
console.log(negNum % -2);//-1
console.log(negNum % 2);//-1
- 當餘數運算遇見特殊值時:
如:let num = Infinity % 3;
或 num = 9 % 0;
或 num = Infinity % Infinity;
console.log(num); // NaN
又如:let num = 9 % Infinity;
console.log(num); // 9
- 模數
在JavaScript中,獲取模數的表達式:((dividend % divisor) + divisor) % divisor
打包成方法的話:const mod = (dividend, divisor) => ((dividend % divisor) + divisor) % divisor;
(6). 對objects的算數運算
- JavaScript會調用對象的valueOf()方法來獲得計算的值。
如:let eggs = {
valueOf(){
return 10;
},};
let remaining= eggs - 1;
console.log(remaining); // 9
- 如果該對象沒有valueOf()方法,但含有toString()方法,那麽JavaScript會調用對象的toString()方法來獲得計算的值。
如:let eggs = {
toString(){
return 10;
},};
let remaining= eggs - 1;
console.log(remaining); // 9
2. JavaScript的賦值運算符 =
(1). 常用簡寫表達式:
- +=,-=,*=,/=,%=。
如:a += b 相當於 a = a + b
(2). 不太常用的簡寫表達式:
&=,|=,^=,<<=, >>=, >>>=
如:a >>>= b 相當於 a = a >>> b