溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

javascript有哪些算數(shù)運算符

發(fā)布時間:2021-07-16 11:34:01 來源:億速云 閱讀:164 作者:chen 欄目:web開發(fā)

這篇文章主要介紹“javascript有哪些算數(shù)運算符”,在日常操作中,相信很多人在javascript有哪些算數(shù)運算符問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”javascript有哪些算數(shù)運算符”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

javascript算數(shù)運算符有:加法運算符“+”,減法運算符“-”、乘法運算符“*”、除法運算符“/”、求余運算符“%”、遞增運算符“++”、遞減運算符“--”、冪運算符“**”。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

算術(shù)運算符用于對數(shù)字(文字或變量)執(zhí)行算術(shù)運算。標(biāo)準(zhǔn)算術(shù)運算符是加法 +,減法 -,乘法 * 和除法 /。和數(shù)學(xué)里面的加減乘除很類似,我們一起來看一下。

加法運算符

加法運算符 + 的作用是數(shù)值求和,這個應(yīng)該很簡單。

示例:

下面是簡單的求兩數(shù)之和:

var a = 8;
var b = a + 5;
console.log(b);  // 13

+ 激發(fā)運算符除了計算兩數(shù)之和,我們可以通過 + 連接字符串,得到的結(jié)果是一個新的字符串。

示例:

使用 + 將定義好的三個變量連接:

str1 = "hello";
str2 = "xkd";
str3 = " ";
console.log(str1 + str3 + str2);  // 輸出: hello xkd

除此之外,數(shù)字和一個字符串也可以通過 + 加號連接,返回結(jié)果同樣為一個字符串。

示例:

看一下數(shù)字與數(shù)字相加,數(shù)字與字符串相加有什么不同:

num1 = 10;
num2 = 15;
str1 = "15"

console.log(num1 + num2 );  // 輸出: 25
console.log(num1 + str1 );  // 輸出:1015

注意在某些編程語言(例如Python)中不同類型是不能進(jìn)行相加的,例如數(shù)字加字符串會報錯。而 JavaScript 中數(shù)字和字符串相加,返回一個字符串。

減法運算符

減法運算符 - 可以用于兩個操作數(shù)相減,結(jié)果為它們的差值。

示例:

var c = 8;
var d = c - 5;
console.log(d);  // 3

在減法運算中,如果操作數(shù)為字符串,先嘗試把它轉(zhuǎn)換為數(shù)值,再進(jìn)行運算。如果有一個操作數(shù)不是數(shù)字,則返回 NaN。

示例:

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

使用值減去 0,可以快速把值轉(zhuǎn)換為數(shù)字。例如 HTTP 請求中查詢字符串一般都是字符串型數(shù)字,可以先把這些參數(shù)值減去 0 轉(zhuǎn)換為數(shù)值。這與調(diào)用 parseFloat() 方法的結(jié)果相同,但減法更高效、快捷。減法運算符的隱性轉(zhuǎn)換如果失敗,則返回 NaN,這與使用 parseFloat() 方法執(zhí)行轉(zhuǎn)換時的返回值是不同的。

例如,對于字符串“100aaa”而言,parseFloat() 方法能夠解析出前面幾個數(shù)字,而對于減法運算符來說,則必須是完整的數(shù)字,才可以進(jìn)行轉(zhuǎn)換。

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

對于布爾值來說,parseFloat() 方法能夠把 true 轉(zhuǎn)換為 1,把 false 轉(zhuǎn)換為 0,而減法運算符視其為 NaN。

對于對象來說,parseFloat() 方法會嘗試調(diào)用對象的 toString() 方法進(jìn)行轉(zhuǎn)換,而減法運算符先嘗試調(diào)用對象的 valueOf() 方法進(jìn)行轉(zhuǎn)換,失敗之后再調(diào)用 toString() 進(jìn)行轉(zhuǎn)換。

注意特殊操作數(shù)的減法運算。

var n = 5;  //定義并初始化任意一個數(shù)值
console.log(NaN - n);  //NaN與任意操作數(shù)相減,結(jié)果都是NaN
console.log(Infinity - n);  //Infinity與任意操作數(shù)相減,結(jié)果都是Infinity
console.log(Infinity - Infinity);  //Infinity與Infinity相減,結(jié)果是NaN
console.log((-Infinity) - (-Infinity));  //負(fù)Infinity相減,結(jié)果是NaN
console.log((-Infinity) - Infinity);  //正負(fù)Infinity相減,結(jié)果是-Infinity

取反運算

注意特殊操作數(shù)的取反運算

console.log(- 5);  //返回-5。正常數(shù)值取負(fù)數(shù)
console.log(- "5");  //返回-5。先轉(zhuǎn)換字符串?dāng)?shù)字為數(shù)值類型
console.log(- "a");  //返回NaN。無法完全匹配運算,返回NaN
console.log(- Infinity);  //返回-Infinity
console.log(- (- Infinity));  //返回Infinity
console.log(- NaN);  //返回NaN

乘法運算符

乘法運算符 * 的結(jié)果是操作數(shù)的乘積。

示例:

var e = (8 + 5) * 3;
var f = 'xkd' * 3;
console.log(e);  // 輸出:39
console.log(f);  // 輸出:NaN

如果我們使用一個字符串與一個數(shù)字相乘,最終返回一個NaN,即非法數(shù)。

除法運算符

除法運算符 / 的結(jié)果是操作數(shù)的商 ,左操作數(shù)是被除數(shù),右操作數(shù)是除數(shù)。

示例:

var g = (9 - 3) / 3;
var h = 3.0 / 1.0;
var i = 1 / 2;

console.log(g);  //輸出:2
console.log(h);  //輸出:3
console.log(i);  //輸出:0.5

我們需要注意的是,在 JavaScript 中 1 / 2 這種結(jié)果帶小數(shù)點的運算,結(jié)果會帶小數(shù)點,例如 0.5。而在 Java 等語言中,不需要數(shù)字是明確的浮點數(shù),1 / 2 的返回結(jié)果為0。

求余運算符

百分號 % 是求余運算符,返回第一個操作數(shù)對第二個操作數(shù)的模(余數(shù)),例如 x % y,得到的結(jié)果是x 除以y 的整型余數(shù)。余數(shù)大家應(yīng)該知道,我們在數(shù)學(xué)中也學(xué)過,就是指整數(shù)觸發(fā)中被除數(shù)未被除盡的部分。

示例:

例如下面這段代碼:

var m = 9;
var n = 2;
var mn = m % n;
console.log(mn);  //輸出: 1

輸出結(jié)果為1,這其實很好理解,9 % 2 就是求 9 除以 2 的余數(shù),就是1。

那么如果是 12 % 5 呢,輸出結(jié)果會是什么? 12除以5會余2,所以結(jié)果結(jié)果為2?,F(xiàn)在你應(yīng)該知道 % 要怎么使用了吧。

遞增運算符

遞增運算符 ++ 為其操作數(shù)增加1,并返回一個數(shù)值。如果使用后置,如x++,將會在遞增前返回數(shù)值。如果前置,如 ++x,將會在遞增后返回數(shù)值。

示例:

假設(shè)我們定義了一個變量 i,然后使用自增運算符對 i 進(jìn)行遞增運算,將遞增后的 i 賦值給了變量 j,最終j 的輸出結(jié)果為 6:

var i = 5;
i++;
var j = i;
console.log(j);  // 6

那為什么結(jié)果會是6呢,i++ 其實就是表示在 i 的基礎(chǔ)上加一,相當(dāng)于i + 1。

然后我們看一下遞增運算符前置和后置,到底有什么區(qū)別,例如下面這個代碼:

var a = 9;
console.log(a++);  // 輸出:9

console.log(a);    // 輸出:10

console.log(++a);  // 輸出:11
  • 變量 a 的值為9,然后使用后置遞增運算符a++,第一次輸出會在遞增之前就返回數(shù)值,即輸出結(jié)果還是 9。

  • 然后此時輸出 a 的值,可以看到 a 的值已經(jīng)為10了,因為已經(jīng)執(zhí)行了一次遞增運算符,所以加 1。

  • 接著第三次輸出時,使用前置遞增運算符,這會在遞增之后才返回數(shù)值,即輸出結(jié)果為11。

遞減運算符

遞減運算符 -- 為其操作數(shù)減去1,并返回一個數(shù)值。遞減運算符和遞增運算符的使用方法差不多,一個是減、一個是加,正好相反。

如果后置使用遞減運算符,則在遞減之前返回數(shù)值。如果前置使用,則在遞減之后返回數(shù)值。

示例:

var b = 7;
console.log(b--);  // 輸出:7

console.log(b);    // 輸出:6

console.log(--b);  // 輸出:5
  • 變量b的值為7,然后使用后置遞減運算符b--,會在遞減之錢返回數(shù)值,即7。

  • 然后第二次輸出變量b,此時已經(jīng)成功執(zhí)行b-- ,會在此基礎(chǔ)上減1,所以輸出6。

  • 第三次輸出--b,使用后置遞減運算符,會在遞減之后返回數(shù)值,所以會輸出5。

冪運算符

冪運算符 ** 返回第一個操作數(shù)做底數(shù),第二個操作數(shù)做指數(shù)的乘方。例如5 ** 2 表示 5 的 2 次方,根據(jù)所學(xué)數(shù)學(xué)知道就能得出結(jié)果為25。

示例:

下面這個代碼表示求 6 的 3 次方,相當(dāng)于 6 * 6 * 6,結(jié)果為216:

var x = 6;
var y = x ** 3;
console.log(y);  // 216

上面的運算出的結(jié)果與 Math.pow(x, y) 是相同的,例如:

var x = 6;
var y = Math.pow(x,3);
console.log(y);  // 216

pow()方法可返回 x 的 y 次冪的值。

到此,關(guān)于“javascript有哪些算數(shù)運算符”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI