JavaScript快速入門-ECMAScript運算符

一、邏輯運算符

邏輯與:&&(and)python

邏輯或:||(or) spa

邏輯非:!(not)3d

邏輯 AND 運算符(&&)

邏輯 AND 運算的運算數能夠是任何類型的,不止是 Boolean 值。對象

若是某個運算數不是原始的 Boolean 型值,邏輯 AND 運算並不必定返回 Boolean 值:blog

  • 若是某個運算數是 null,返回 null。 
  • 若是某個運算數是 NaN,返回 NaN。 
  • 若是某個運算數是 undefined,返回undefined。 

邏輯 OR 運算符(||)

與邏輯 AND 運算符類似,若是某個運算數不是 Boolean 值,邏輯 OR 運算並不必定返回 Boolean 值:ip

  • 若是一個運算數是對象,而且該對象左邊的運算數值均爲 false,則返回該對象。
  • 若是兩個運算數都是對象,返回第一個對象。
  • 若是最後一個運算數是 null,而且其餘運算數值均爲 false,則返回 null。
  • 若是最後一個運算數是 NaN,而且其餘運算數值均爲 false,則返回 NaN。
  • 若是某個運算數是 undefined,發生錯誤。

與邏輯 AND 運算符同樣,邏輯 OR 運算也是簡便運算(python中叫「短路運算」)。對於邏輯 OR 運算符來講,若是第一個運算數值爲 true,就再也不計算第二個運算數。字符串

與邏輯 AND 運算符類似,若是某個運算數不是 Boolean 值,邏輯 OR 運算並不必定返回 Boolean 值it

二、比較運算符

等於 ( == )  、不等於( != ) 、 大於( > ) 、 小於( < ) 
大於等於(>=) 、小於等於(<=)

a、比較兩者都是數字,則按數字大小比較。24<3  #trueclass

b、比較兩者都是數字,可是有一個是字符串類型,一個是整數類型,則都當數字比較;‘24’<3  #false程序

c、比較兩者都是字符串(數字),則比較字符代碼。好比:‘24’<'3'  #true

d、比較兩者都是字符串(非數字),則依次比較字母的字符代碼。好比:‘abc’<'acd' #true

e、比較兩者字符串和數字。好比‘abc’<2  #由於字符串在轉換數字的過程當中會出現NaN,因此結果爲false。

NaN參與的全部的運算都是false,除了!=

三、算術運算符

加(+)、 減(-)、 乘(*) 、除(/) 、餘數(% )

乘(*)

在處理特殊值時,ECMAScript 中的乘法還有一些特殊行爲:

  • 若是結果太大或過小,那麼生成的結果是 Infinity 或 -Infinity。
  • 若是某個運算數是 NaN,結果爲 NaN。
  • Infinity 乘以 0,結果爲 NaN。
  • Infinity 乘以 0 之外的任何數字,結果爲 Infinity 或 -Infinity。
  • Infinity 乘以 Infinity,結果爲 Infinity。

註釋:若是運算數是數字,那麼執行常規的乘法運算,即兩個正數或兩個負數爲正數,兩個運算數符號不一樣,結果爲負數。

除(/)

與乘法運算符類似,在處理特殊值時,除法運算符也有一些特殊行爲:

  • 若是結果太大或過小,那麼生成的結果是 Infinity 或 -Infinity。
  • 若是某個運算數是 NaN,結果爲 NaN。
  • Infinity 被 Infinity 除,結果爲 NaN。
  • Infinity 被任何數字除,結果爲 Infinity。
  • 0 除一個任何非無窮大的數字,結果爲 NaN。
  • Infinity 被 0 之外的任何數字除,結果爲 Infinity 或 -Infinity。

註釋:若是運算數是數字,那麼執行常規的除法運算,即兩個正數或兩個負數爲正數,兩個運算數符號不一樣,結果爲負數。

取模(%)

與其餘乘性運算符類似,對於特殊值,取模運算符也有特殊的行爲:

  • 若是被除數是 Infinity,或除數是 0,結果爲 NaN。
  • Infinity 被 Infinity 除,結果爲 NaN。
  • 若是除數是無窮大的數,結果爲被除數。
  • 若是被除數爲 0,結果爲 0。

註釋:若是運算數是數字,那麼執行常規的算術除法運算,返回除法運算獲得的餘數。

四、賦值運算符(=、==、===)

  • 乘法/賦值(*=)
  • 除法/賦值(/=)
  • 取模/賦值(%=)
  • 加法/賦值(+=)
  • 減法/賦值(-=)
  • 左移/賦值(<<=)
  • 有符號右移/賦值(>>=)
  • 無符號右移/賦值(>>>=)
a、賦值,var a=123;
b、=表明賦值,兩個等號==表示判斷值是否相等
  例如,x=1表示給x賦值爲1
  if (x==1){...}程序表示當x與1相等時
  if(x==「on」){…}程序表示當x與「on」相等時
c、配合其餘運算符造成的簡化表達式
  例如i+=1至關於i=i+1,x&=y至關於x=x&y
d、JavaScript中的===,表示值相等,類型也必須相等。
相關文章
相關標籤/搜索