JavaScript中的各種操作符使用總結(jié)
來源:易賢網(wǎng) 閱讀:611 次 日期:2016-06-20 16:32:39
溫馨提示:易賢網(wǎng)小編為您整理了“JavaScript中的各種操作符使用總結(jié)”,方便廣大網(wǎng)友查閱!

這里我們說的操作符包括算數(shù)運算符和邏輯操作符等,包括布爾與賦值等,為大家進(jìn)行了JavaScript中的各種操作符使用總結(jié),需要的朋友可以參考下

一元操作符

只能操作一個值的操作符叫一元操作符。

一元操作符是ECMAScript中最簡單的操作符。

1.遞增和遞減操作符

遞增遞減操作符直接借鑒C,而且各有兩個版本:前置型和后置型。顧明思義,前置型應(yīng)該讓位于要操作的變量之前,而后置型應(yīng)該位于要操作的變量之后。

前置型:

var num1 = 1;

var num2 = 2;

var num3 = ++num1 + num2;//4

后置型:

var num1 = 1;

var num2 = 2;

var num3 = num1++ + num2;//3

上述兩段代碼得出了不同的結(jié)果,原因就在與,后置遞增遞減與前置遞增遞減有一個非常重要的區(qū)別,即后置遞增遞減操作是在包含它們的語句被求值之后才執(zhí)行的。

適用范圍:

前置遞增遞減與后置遞增遞減所有這四個操作符對任何值都適用。應(yīng)用于不同值時,該操作符會像Number()轉(zhuǎn)型函數(shù)一樣對值進(jìn)行轉(zhuǎn)換,轉(zhuǎn)化后進(jìn)行加減1的操作。

2.一元加和減操作符

一元加和減操作符主要用于基本的算術(shù)運算,也可以用于轉(zhuǎn)換數(shù)據(jù)類型(該操作符會像Number()轉(zhuǎn)型函數(shù)一樣對這個值進(jìn)行轉(zhuǎn)換)。

布爾操作符

布爾操作符一共有三個:非(NOT)、與(AND)、或(OR)。

1.邏輯非

邏輯非操作符由一個嘆號表示(!),可以應(yīng)用于ECMAScript中的任何值。無論這個值是什么數(shù)據(jù)類型,這個操作符都會返回一個布爾值。

同時使用兩個邏輯非操作符,實際上就會模擬Boolean()轉(zhuǎn)型函數(shù)的行為

2.邏輯與

邏輯與操作符由兩個和號(&&)表示,有兩個操作數(shù)且可運用于任何類型的操作數(shù)。邏輯與屬于短路操作,即如果第一個操作數(shù)求值結(jié)果是false,那么就不會對第二個操作數(shù)求值。

當(dāng)兩個值都為真值時,結(jié)果為true。當(dāng)兩個值為一真一假時,結(jié)果為false。當(dāng)兩個值都為假值時,返回false。

其中一個值不是布爾值時:遵循下列規(guī)則

第一個操作數(shù)為假,返回第一個;

第一個操作數(shù)為真的時候,返回第二個。

如果第一個操作數(shù)是對象,則返回第二個操作數(shù)

var a = {b:1};

a && 'ss'//"ss"

如果第二個操作數(shù)是對象,則只有在第一個操作數(shù)的求值結(jié)果為true的情況下才會返回該對象

'ss' && a//Object {b: 1}

如果兩個操作數(shù)都是對象,則返回第二操作數(shù)

var c = {d:2};

c && a//Object {b: 1}

(1)如果有一個操作數(shù)是null,則返回null

(2)如果有一個操作數(shù)是NaN,則返回NaN

(3)如果有一個操作數(shù)是undefined,則返回undefinded

3.邏輯或

與邏輯與操作符相似,邏輯或操作符也是短路操作符。也就是說,如果第一個操作數(shù)的求值結(jié)果為true,就不會對第二個操作數(shù)求值了。

(1)第一個操作數(shù)為真,返回第一個

(2)第一個操作數(shù)為假,返回第二個

乘性操作符

ECMAScript定義了3個乘性操作符:乘法、除法和模

Infinity*0//NaN

0/0//NaN

Infinity/Infinity//NaN

加性操作符

1.加法(轉(zhuǎn)字符串)

兩個操作符都是數(shù)值

執(zhí)行常規(guī)的加法計算。

Infinity + -Infinity//NaN

如果有一個操作數(shù)是字符串

如果兩個操作符都是字符串,則將第二個操作符與第一個操作符拼接起來

如果只有一個操作符是字符串,則將另一個操作數(shù)轉(zhuǎn)換為字符串,然后再將兩個字符串拼接起來。

如果這個操作數(shù)是對象、數(shù)值或布爾值,則調(diào)用它們的toString()方法取得相應(yīng)的字符串值,然后再應(yīng)用前面關(guān)于字符串的規(guī)則。對于null和undefined,則分別調(diào)用String()函數(shù)并取得字符串"undefined"和"null"。

2 + '' //"2"

2.減法(轉(zhuǎn)數(shù)值)

如果兩個操作數(shù)都是數(shù)值

執(zhí)行常規(guī)的算術(shù)減發(fā)操作并返回結(jié)果,如果有一個操作數(shù)是NaN,則結(jié)果是NaN

Infinity - Infinity//NaN

如果有一個操作數(shù)不是數(shù)值

如果有一個操作數(shù)是字符串、布爾值、null或undefined,則先在后臺調(diào)用Number()函數(shù)將其轉(zhuǎn)換為數(shù)值,然后再根據(jù)前面的規(guī)則執(zhí)行減法計算。如果轉(zhuǎn)化的結(jié)果是NaN,則減法的結(jié)果就是NaN。

如果有一個操作數(shù)是對象,則調(diào)用對象的valueOf()方法以取得表示該對象的數(shù)值。如果得到的值是NaN,則減法的結(jié)果是NaN。如果對象沒有valueOf()方法則調(diào)用其toString()方法并將得到的字符串轉(zhuǎn)換為數(shù)值。

5 - true//4

關(guān)系操作符

如果兩個操作數(shù)都是數(shù)值,則執(zhí)行數(shù)值比較

如果兩個操作數(shù)都是字符串,則比較兩個字符串對應(yīng)的字符編碼值

如果一個操作數(shù)是數(shù)值,則將另一個操作數(shù)轉(zhuǎn)換為數(shù)值,然后執(zhí)行數(shù)值比較

var result = '23' < '3'//true

var result = '23' < 3//false

相等操作符

1.相等和不相等

先轉(zhuǎn)換再比較

(1)如果有一個操作數(shù)是布爾值,則在比較相等性之前,先將其轉(zhuǎn)換為數(shù)值

(2)如果有一個操作數(shù)是字符串,另一個操作數(shù)是數(shù)值,先將其轉(zhuǎn)換為數(shù)值

(3)如果有一個操作數(shù)是對象,另一個不是,則調(diào)用對象的valueOf()方法,用得到的基本類型值按前面的基本規(guī)則進(jìn)行比較

null和undefined是相等的

要比較相等性之前不能將null和undefined轉(zhuǎn)換為任何其他值

如果兩個操作數(shù)都是NaN,相等操作符也返回false,按規(guī)則,NaN不等于NaN

2.全等和不全等

僅比較而不轉(zhuǎn)換

"55" !== 55 //true

條件操作符

variable = boolean_expression ? true_value : false_value 

本質(zhì)上,這段代碼的含義就是基于對boolean_expression求值的結(jié)果,決定給變量variable賦什么值。如果求值結(jié)果為true,則給變量賦true_value;如果求值結(jié)果為false,則給變量variable賦false_value值。

賦值操作符

簡單的賦值操作符由等號表示,其作用就是把右側(cè)的值賦給左側(cè)的變量。

逗號操作符

逗號操作符多用于聲明多個變量;但除此之外,逗號操作符還用來賦值。在用于賦值時,逗號操作符總會返回表達(dá)式中的最后一項。

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:JavaScript中的各種操作符使用總結(jié)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)