這篇文章主要介紹“javascript有哪些算數(shù)運(yùn)算符”,在日常操作中,相信很多人在javascript有哪些算數(shù)運(yùn)算符問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”javascript有哪些算數(shù)運(yùn)算符”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián),專注為中小企業(yè)提供官網(wǎng)建設(shè)、營銷型網(wǎng)站制作、響應(yīng)式網(wǎng)站設(shè)計(jì)、展示型成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價(jià)值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營銷推廣問題。
javascript算數(shù)運(yùn)算符有:加法運(yùn)算符“+”,減法運(yùn)算符“-”、乘法運(yùn)算符“*”、除法運(yùn)算符“/”、求余運(yùn)算符“%”、遞增運(yùn)算符“++”、遞減運(yùn)算符“--”、冪運(yùn)算符“**”。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
算術(shù)運(yùn)算符用于對數(shù)字(文字或變量)執(zhí)行算術(shù)運(yùn)算。標(biāo)準(zhǔn)算術(shù)運(yùn)算符是加法 +
,減法 -
,乘法 *
和除法 /
。和數(shù)學(xué)里面的加減乘除很類似,我們一起來看一下。
加法運(yùn)算符 +
的作用是數(shù)值求和,這個(gè)應(yīng)該很簡單。
下面是簡單的求兩數(shù)之和:
var a = 8; var b = a + 5; console.log(b); // 13
+
激發(fā)運(yùn)算符除了計(jì)算兩數(shù)之和,我們可以通過 +
連接字符串,得到的結(jié)果是一個(gè)新的字符串。
示例:
使用 +
將定義好的三個(gè)變量連接:
str1 = "hello"; str2 = "xkd"; str3 = " "; console.log(str1 + str3 + str2); // 輸出: hello xkd
除此之外,數(shù)字和一個(gè)字符串也可以通過 +
加號連接,返回結(jié)果同樣為一個(gè)字符串。
示例:
看一下數(shù)字與數(shù)字相加,數(shù)字與字符串相加有什么不同:
num1 = 10; num2 = 15; str1 = "15" console.log(num1 + num2 ); // 輸出: 25 console.log(num1 + str1 ); // 輸出:1015
注意在某些編程語言(例如Python)中不同類型是不能進(jìn)行相加的,例如數(shù)字加字符串會報(bào)錯(cuò)。而 JavaScript 中數(shù)字和字符串相加,返回一個(gè)字符串。
減法運(yùn)算符 -
可以用于兩個(gè)操作數(shù)相減,結(jié)果為它們的差值。
示例:
var c = 8; var d = c - 5; console.log(d); // 3
在減法運(yùn)算中,如果操作數(shù)為字符串,先嘗試把它轉(zhuǎn)換為數(shù)值,再進(jìn)行運(yùn)算。如果有一個(gè)操作數(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é)果相同,但減法更高效、快捷。減法運(yùn)算符的隱性轉(zhuǎn)換如果失敗,則返回 NaN,這與使用 parseFloat() 方法執(zhí)行轉(zhuǎn)換時(shí)的返回值是不同的。
例如,對于字符串“100aaa”而言,parseFloat() 方法能夠解析出前面幾個(gè)數(shù)字,而對于減法運(yùn)算符來說,則必須是完整的數(shù)字,才可以進(jìn)行轉(zhuǎn)換。
console.log(parseFloat("100aaa")); //返回100 console.log("100aaa" - 0); //返回NaN
對于布爾值來說,parseFloat() 方法能夠把 true 轉(zhuǎn)換為 1,把 false 轉(zhuǎn)換為 0,而減法運(yùn)算符視其為 NaN。
對于對象來說,parseFloat() 方法會嘗試調(diào)用對象的 toString() 方法進(jìn)行轉(zhuǎn)換,而減法運(yùn)算符先嘗試調(diào)用對象的 valueOf() 方法進(jìn)行轉(zhuǎn)換,失敗之后再調(diào)用 toString() 進(jìn)行轉(zhuǎn)換。
注意特殊操作數(shù)的減法運(yùn)算。
var n = 5; //定義并初始化任意一個(gè)數(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
取反運(yùn)算
注意特殊操作數(shù)的取反運(yùn)算
console.log(- 5); //返回-5。正常數(shù)值取負(fù)數(shù) console.log(- "5"); //返回-5。先轉(zhuǎn)換字符串?dāng)?shù)字為數(shù)值類型 console.log(- "a"); //返回NaN。無法完全匹配運(yùn)算,返回NaN console.log(- Infinity); //返回-Infinity console.log(- (- Infinity)); //返回Infinity console.log(- NaN); //返回NaN
乘法運(yùn)算符 *
的結(jié)果是操作數(shù)的乘積。
示例:
var e = (8 + 5) * 3; var f = 'xkd' * 3; console.log(e); // 輸出:39 console.log(f); // 輸出:NaN
如果我們使用一個(gè)字符串與一個(gè)數(shù)字相乘,最終返回一個(gè)NaN,即非法數(shù)。
除法運(yùn)算符 /
的結(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ù)點(diǎn)的運(yùn)算,結(jié)果會帶小數(shù)點(diǎn),例如 0.5
。而在 Java 等語言中,不需要數(shù)字是明確的浮點(diǎn)數(shù),1 / 2
的返回結(jié)果為0。
百分號 %
是求余運(yùn)算符,返回第一個(gè)操作數(shù)對第二個(gè)操作數(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,這其實(shí)很好理解,9 % 2
就是求 9 除以 2 的余數(shù),就是1。
那么如果是 12 % 5
呢,輸出結(jié)果會是什么? 12除以5會余2,所以結(jié)果結(jié)果為2?,F(xiàn)在你應(yīng)該知道 %
要怎么使用了吧。
遞增運(yùn)算符 ++
為其操作數(shù)增加1,并返回一個(gè)數(shù)值。如果使用后置,如x++
,將會在遞增前返回?cái)?shù)值。如果前置,如 ++x
,將會在遞增后返回?cái)?shù)值。
示例:
假設(shè)我們定義了一個(gè)變量 i
,然后使用自增運(yùn)算符對 i
進(jìn)行遞增運(yùn)算,將遞增后的 i
賦值給了變量 j
,最終j
的輸出結(jié)果為 6:
var i = 5; i++; var j = i; console.log(j); // 6
那為什么結(jié)果會是6呢,i++
其實(shí)就是表示在 i
的基礎(chǔ)上加一,相當(dāng)于i + 1
。
然后我們看一下遞增運(yùn)算符前置和后置,到底有什么區(qū)別,例如下面這個(gè)代碼:
var a = 9; console.log(a++); // 輸出:9 console.log(a); // 輸出:10 console.log(++a); // 輸出:11
變量 a 的值為9,然后使用后置遞增運(yùn)算符a++
,第一次輸出會在遞增之前就返回?cái)?shù)值,即輸出結(jié)果還是 9。
然后此時(shí)輸出 a 的值,可以看到 a 的值已經(jīng)為10了,因?yàn)橐呀?jīng)執(zhí)行了一次遞增運(yùn)算符,所以加 1。
接著第三次輸出時(shí),使用前置遞增運(yùn)算符,這會在遞增之后才返回?cái)?shù)值,即輸出結(jié)果為11。
遞減運(yùn)算符 --
為其操作數(shù)減去1,并返回一個(gè)數(shù)值。遞減運(yùn)算符和遞增運(yùn)算符的使用方法差不多,一個(gè)是減、一個(gè)是加,正好相反。
如果后置使用遞減運(yùn)算符,則在遞減之前返回?cái)?shù)值。如果前置使用,則在遞減之后返回?cái)?shù)值。
示例:
var b = 7; console.log(b--); // 輸出:7 console.log(b); // 輸出:6 console.log(--b); // 輸出:5
變量b的值為7,然后使用后置遞減運(yùn)算符b--
,會在遞減之錢返回?cái)?shù)值,即7。
然后第二次輸出變量b,此時(shí)已經(jīng)成功執(zhí)行b--
,會在此基礎(chǔ)上減1,所以輸出6。
第三次輸出--b
,使用后置遞減運(yùn)算符,會在遞減之后返回?cái)?shù)值,所以會輸出5。
冪運(yùn)算符 **
返回第一個(gè)操作數(shù)做底數(shù),第二個(gè)操作數(shù)做指數(shù)的乘方。例如5 ** 2
表示 5 的 2 次方,根據(jù)所學(xué)數(shù)學(xué)知道就能得出結(jié)果為25。
下面這個(gè)代碼表示求 6 的 3 次方,相當(dāng)于 6 * 6 * 6
,結(jié)果為216:
var x = 6; var y = x ** 3; console.log(y); // 216
上面的運(yùn)算出的結(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ù)運(yùn)算符”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!