千篇一律的JS運(yùn)算符講解,一起來看看
算術(shù)運(yùn)算符
- 對(duì)數(shù)值類型的變量及常量進(jìn)行算數(shù)運(yùn)算。
- 也是最簡(jiǎn)單和最常用的運(yùn)算符號(hào)。
- 四則混合運(yùn)算,遵循 “先乘除后加減”的原則。
- 取模運(yùn)算結(jié)果的正負(fù)取決于被模數(shù)(%左邊的數(shù))的符號(hào)。
- 盡量避免利用小數(shù)進(jìn)行運(yùn)算,有時(shí)可能因JavaScript的精度導(dǎo)致結(jié)果的偏差。
- “+”和“-”在算術(shù)運(yùn)算時(shí)還可以表示正數(shù)或負(fù)數(shù)。
- 運(yùn)算符(++或–)放在操作數(shù)前面,先進(jìn)行自增或自減運(yùn)算,再進(jìn)行其他運(yùn)算。若運(yùn)算符放在操作數(shù)后面,則先進(jìn)行其他運(yùn)算,再進(jìn)行自增或自減運(yùn)算。
- 遞增和遞減運(yùn)算符僅對(duì)數(shù)值型和布爾型數(shù)據(jù)操作,會(huì)將布爾值true當(dāng)做1,false當(dāng)做0。
字符串運(yùn)算符
JavaScript中,“+”操作的兩個(gè)數(shù)據(jù)中只要有一個(gè)是字符型,則“+”就表示字符串運(yùn)算符,用于返回兩個(gè)數(shù)據(jù)拼接后的字符串。
賦值運(yùn)算符
- 是一個(gè)二元運(yùn)算符,即它有兩個(gè)操作數(shù)。
- 它將運(yùn)算符右邊的值賦給左邊的變量。
注意
- “=”是賦值運(yùn)算符,而非數(shù)學(xué)意義上的相等的關(guān)系。
- 一條賦值語句可以對(duì)多個(gè)變量進(jìn)行賦值。
- 賦值運(yùn)算符的結(jié)合性為“從右向左”。
比較運(yùn)算符
- 用來對(duì)兩個(gè)數(shù)值或變量進(jìn)行比較。
- 其結(jié)果是布爾類型的true或false。
注意
不相同類型的數(shù)據(jù)進(jìn)行比較時(shí),首先會(huì)自動(dòng)將其轉(zhuǎn)換成相同類型的數(shù)據(jù)后再進(jìn)行比較。運(yùn)算符“==”和“!=”運(yùn)算符在比較時(shí),只比較值是否相等。運(yùn)算符“=”與“!”要比較數(shù)值和其數(shù)據(jù)類型是否相等。
邏輯運(yùn)算符
是在程序開發(fā)中用于邏輯判斷的符號(hào)。其返回值類型是布爾類型。
- 邏輯運(yùn)算符的結(jié)合性是從左到右。
- 當(dāng)使用“&&”連接兩個(gè)表達(dá)式時(shí),如果左邊表達(dá)式的值為false,則右邊的表達(dá)式不會(huì)執(zhí)行,邏輯運(yùn)算結(jié)果為false。(短路)
- 當(dāng)使用“||”連接兩個(gè)表達(dá)式時(shí),如果左邊表達(dá)式的值為true,則右邊的表達(dá)式不會(huì)執(zhí)行,邏輯運(yùn)算結(jié)果為true。(短路)
- 邏輯運(yùn)算符可針對(duì)結(jié)果為布爾值的表達(dá)式進(jìn)行運(yùn)算。
三元運(yùn)算符
三元運(yùn)算符是一種需要三個(gè)操作數(shù)的運(yùn)算符,運(yùn)算的結(jié)果根據(jù)給定條件決定。
- 先求條件表達(dá)式的值。
- 如果為true,則返回表達(dá)式1的執(zhí)行結(jié)果。
- 如果條件表達(dá)式的值為false,則返回表達(dá)式2的執(zhí)行結(jié)果。
位運(yùn)算符
- 是針對(duì)二進(jìn)制數(shù)的每一位進(jìn)行運(yùn)算的符號(hào)。
- 它專門針對(duì)數(shù)字0和1進(jìn)行操作。
注意
JavaScript中位運(yùn)算符僅能對(duì)數(shù)值型的數(shù)據(jù)進(jìn)行運(yùn)算。在對(duì)數(shù)字進(jìn)行位運(yùn)算之前,程序會(huì)將所有的操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),然后再逐位運(yùn)算。
運(yùn)算符優(yōu)先級(jí)
- 同一單元格的運(yùn)算符具有相同的優(yōu)先級(jí)。
- 左結(jié)合方向表示同級(jí)運(yùn)算符的執(zhí)行順序?yàn)閺淖蟮接摇?/li>
- 右結(jié)合方向則表示執(zhí)行順序?yàn)閺挠业阶蟆?/li>
- 補(bǔ)充:圓括號(hào)()優(yōu)先級(jí)別最高。例如, 4 + 3 * 2的 輸出結(jié)果為10,(4 + 3) * 2的輸出結(jié)果為14。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
appendChild() 或 insertBefore()使用與區(qū)別介紹
appendChild() 方法在節(jié)點(diǎn)的子節(jié)點(diǎn)列表末添加新的子節(jié)點(diǎn)。insertBefore() 方法在節(jié)點(diǎn)的子節(jié)點(diǎn)列表任意位置插入新的節(jié)點(diǎn),下面為大家介紹下具體的使用,感興趣的朋友不要錯(cuò)過2013-10-10在javascript中關(guān)于節(jié)點(diǎn)內(nèi)容加強(qiáng)
本篇文章,小編為大家介紹,關(guān)于在javascript中關(guān)于節(jié)點(diǎn)內(nèi)容加強(qiáng)的問題2013-04-04JavaScript中splice與slice的區(qū)別
本文給大家分享的是JavaScript中的splice和slice的用法和區(qū)別,slice()方法和splice()方法都是原生js中對(duì)數(shù)組操作的方法,下面我們來詳細(xì)探討下2017-05-05總結(jié)javascript三元運(yùn)算符知識(shí)點(diǎn)
這是一篇關(guān)于javascript三元運(yùn)算符的相關(guān)基礎(chǔ)知識(shí)點(diǎn)內(nèi)容,大家可以學(xué)習(xí)一下鞏固基礎(chǔ)知識(shí)。2018-09-09深入理解JS中的Function.prototype.bind()方法
bind 是 ES5 中新增的一個(gè)方法,可以改變函數(shù)內(nèi)部的this指向。這篇文章小編將帶領(lǐng)大家深入理解Javascript中的Function.prototype.bind()方法。有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-10-10