首頁  >  文章  >  web前端  >  什麼是javascript算術運算符

什麼是javascript算術運算符

青灯夜游
青灯夜游原創
2021-11-26 17:07:322922瀏覽

在javascript中,算術運算子是用來對數字(文字或變數)執行算術運算的一種符號,包括有:加法運算子「 」、減法運算子「-」、乘法運算符「*」、除法運算子「/」、求餘運算子「%」、數值取反運算子「-」。

什麼是javascript算術運算符

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

在javascript中,算術運算子是用來對數字(文字或變數)執行算術運算的一種符號;是完成基本的算術運算 (arithmetic operators) 符號,就是用來處理四則運算的符號。

算術運算子包括:加 、減-、乘*、除/、求餘運算子%、數值取反運算子-。

##x - y 表示計算x減y 的差*
運算子 描述 #範例
#加法運算子 x y 表示計算x 加y 的和
- 減法運算子
#x * y 表示計算x 乘y 的積
/ 除法運算子 x / y 表示計算x 除以y 的商
% 取模(取餘)運算子 x % y 表示計算x 除以y 的餘數

##加法運算子

範例1

注意特殊運算元的求和運算。

var n = 5;  //定义并初始化任意一个数值
console.log(NaN + n);  //NaN与任意操作数相加,结果都是NaN
console.log(Infinity + n);  //Infinity与任意操作数相加,结果都是Infinity
console.log(Infinity + Infinity);  //Infinity与Infinity相加,结果是Infinity
console.log((-Infinity) + (-Infinity));  //负Infinity相加,结果是负Infinity
console.log((-Infinity) + Infinity);  //正负Infinity相加,结果是NaN

範例2

加運算子能夠根據運算元的資料類型,決定是相加操作,還是相連運算。

console.log(1 + 1);  //如果操作数都是数值,则进行相加运算
console.log(1 + "1");  //如果操作数中有一个是字符串,则进行相连运算
console.log(3.0 + 4.3 + "");  //先求和,再连接,返回"7.3"
console.log(3.0 + "" + 4.3);  //先连接,再连接,返回"34.3"
                              //3.0转换为字符串3

在使用加法運算子時,應先檢查運算元的資料型別是否符合需求。

減法運算子

#範例1

注意特殊運算元的減法運算。

var n = 5;  //定义并初始化任意一个数值
console.log(NaN - n);  //NaN与任意操作数相减,结果都是NaN
console.log(Infinity - n);  //Infinity与任意操作数相减,结果都是Infinity
console.log(Infinity - Infinity);  //Infinity与Infinity相减,结果是NaN
console.log((-Infinity) - (-Infinity));  //负Infinity相减,结果是NaN
console.log((-Infinity) - Infinity);  //正负Infinity相减,结果是-Infinity

範例2

在減法運算中,如果運算元為字串,先試著把它轉換為數值,再運算。如果有一個操作數不是數字,則傳回 NaN。

console.log(2 - "1");  //返回1
console.log(2 - "a");  //返回NaN

使用值減去 0,可以快速把值轉換為數字。例如 HTTP 請求中查詢字串一般都是字串型數字,可以先把這些參數值減去 0 轉換為數值。這與呼叫 parseFloat() 方法的結果相同,但減法更有效率、更快速。減法運算子的隱性轉換如果失敗,則傳回 NaN,這與使用 parseFloat() 方法執行轉換時的回傳值是不同的。

例如,對於字串「100aaa」而言,parseFloat() 方法能夠解析出前面幾個數字,而對於減法運算子來說,則必須是完整的數字,才可以進行轉換。

console.log(parseFloat("100aaa"));  //返回100
console.log("100aaa" - 0);  //返回NaN

對布林值來說,parseFloat() 方法能夠把 true 轉換為 1,把 false 轉換為 0,而減法運算子視其為 NaN。

對物件來說,parseFloat() 方法會嘗試呼叫物件的toString() 方法轉換,而減法運算子先嘗試呼叫物件的valueOf() 方法轉換,失敗之後再呼叫toString()進行轉換。

取反運算

取反運算子是一元運算符,也稱為一元減法運算子。

範例

注意特殊運算元的取反運算。

console.log(- 5);  //返回-5。正常数值取负数
console.log(- "5");  //返回-5。先转换字符串数字为数值类型
console.log(- "a");  //返回NaN。无法完全匹配运算,返回NaN
console.log(- Infinity);  //返回-Infinity
console.log(- (- Infinity));  //返回Infinity
console.log(- NaN);  //返回NaN

與一元減法運算子相對應的是一元加法運算符,利用它可以快速把一個值轉換為數值。

乘法運算子

注意特殊運算元的乘法運算。

var n = 5;  //定义并初始化任意一个数值
console.log(NaN * n);  //NaN与任意操作数相乘,结果都是NaN
console.log(Infinity * n);  //Infinity与任意非零正数相乘,结果都是Infinity
console.log(Infinity * (- n));  //Infinity与任意非零负数相乘,结果是-Infinity
console.log(Infinity * 0);  //Infinity与0相乘,结果是NaN
console.log(Infinity * Infinity);  //Infinity与Infinity相乘,结果是Infinity

除法運算子

#注意特殊運算元的除法運算。

var  n = 5;  //定义并初始化任意一个数值
console.log(NaN / n);  //如果一个操作数是NaN,结果都是NaN
console.log(Infinity / n);  //Infinity被任意数字除,结果是Infinity或-Infinity
                            //符号由第二个操作数的符号决定
console.log(Infinity / Infinity);  //返回NaN
console.log(n / 0);  //0除一个非无穷大的数字,结果是Infinity或-Infinity,符号由第二个操作数的符号决定
console.log(n / -0);  //返回-Infinity,解释同上

求餘運算子

#求餘運算也稱模運算例如:

console.log(3 % 2);  //返回余数1

模運算主要針對整數進行操作,也適用於浮點數。例如:

console.log(3.1 % 2.3);  //返回余数0.8000000000000003

範例

注意特殊運算元的求餘運算。

var n = 5;  //定义并初始化任意一个数值
console.log(Infinity % n);  //返回NaN
console.log(Infinity % Infinity);  //返回NaN
console.log(n % Infinity);  //返回5
console.log(0 % n);  //返回0
console.log(0 % Infinity);  //返回0
console.log(n % 0);  //返回NaN
console.log(Infinity % 0);  //返回NaN

【相關推薦:

javascript學習教學#

以上是什麼是javascript算術運算符的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn