「前端架構師30天快速掌握js07」之表達式和運算符知識點詳解

此篇文章講解目錄:

  • 算術運算符

  • 自增與自減

  • 關係運算符

  • 對象運算符

  • 邏輯運算符

算術運算符

  • 算術運算符包括:+-*/%;

  • +(加號)

  • 對數字進行代數求和

  • 對字元串進行連接操作

  • 將一個數值轉換成字元串

  • -(減號)

  • 對操作數進行」取反」操作

  • 對數字進行減法操作

  • 將字元串轉換成數值

  • *和/(乘除)

  • 對兩個運算數進行乘法(除法)運算

  • %(求余/求模)

  • 返回兩個除數的餘數

賦值操作符

  • =:賦值

  • +=:加賦值

  • -=:減賦值

  • *=:乘賦值

  • /=:除賦值

  • %=:取余賦值

自增與自減

  • 功能

  • ++ 對唯一的運算數進行遞增操作(每次加1)

  • -- 對唯一的運算數進行遞減操作(每次減1)

  • 規則

  • 運算數必須是一個變數,數組的一個元素或者對象的屬性

  • 如果運算數是非數值的則運算符將它轉成數值;

    Advertisements

  • 轉換規則是,調用用Number,根據轉后的值,再次進行運算

  • ++i和i++是完全兩回事符號位置決定運算結果

  • ++i運算數之前,先進行遞增(遞減)操作,再進行求值;

  • i++運算數之後,先求值,再進行遞增(遞減操作;)

關係運算符

  • 運算符

  • <

  • 如果A小於B,則返回true,否則返回值為false;

  • <=

  • 如果A小於等於B,則返回值為true,否則返回false

  • >=

  • 如果A大於等於B,返回true,否則返回值為false

  • >

  • 如果A大於B,則返回true,否則返回值為false

  • 操作規則

  • 數值與數值的比較,比較他們的代數值;

  • 僅一個運算數是數值,將另一個運算數轉換成數值,並比較他們的代數值;

  • 字元串間的比較,逐字元比較他們的Unicode數值;

    Advertisements

  • 如果一個操作數是數值,則將另一個操作數轉換為一個數值,然後執行數值比較;(只要有一個是數值,另外一個無論什麼值,都會最終轉為數值后再比較)

  • 運算數既非數字也非字元串,返回值為fals e;

  • 與NaN比較,返回值是false;

  • 等值關係運算(==和===)

  • == 比較兩個運算數的返回值看是否相等

  • != 比較兩個運算數的返回值看是否不想等;

  • === 比較兩個運算數的返回值以及數據類型是否相同;

  • !== 比較兩個運算數的返回值以及數據類型是否不相同

  • 比較原則

  • 值類型間比較,只有數據類型相同,且數值相等時才能夠相同;

  • 值類型與引用類型比較,肯定不相同

  • 引用類型間的比較,比較他們的引用值(內存地址)

對象運算符

  • In 判斷左側運算數是否為右側運算數的成員;

  • Instancesof 判斷對象實例是否屬於某個類或構造函數

  • New 根據構造函數創建一個新的對象,並初始化該對象

  • Delete 刪除指定對象的屬性,數組元素或變數

  • .及[] 存取對象和數組元素

  • () 函數調用,改變運算運算符優先順序等;

邏輯運算符

  • !邏輯非:取反

  • 如果運算數的值為false則返回true,否則返回false;

  • 連續使用兩次,可將任意類型轉為布爾類型值;

  • &&邏輯與

  • 第一個操作數的對象,返回第二個操作數

  • 第二個操作數是對象,如果想返回第二個對象,第一個必須為true;

  • 如果兩個操作數都是對象,第一個是true,則返回第二個操作數;

  • 第一個操作數是null,返回null

  • 第一個操作數是NaN,返回NaN

  • 第一個操作數是undefined,返回undefined

  • ||邏輯或

  • 兩個操作數都是false的時候才為false;第一個操作數是true,則返回第一個數;無需對第二個值判斷了,已經可以確定為true;如果第一個值為false的時候,返回第二個數;因為第一個已經是false了,值取決於第二個值,所以返回第二個值;

  • 第一個操作數是對象,返回第一個操作數

  • 第一個操作數值為false,返回第二個操作數

  • 兩個操作數都是對象,返回第一個操作數

  • 兩個操作數都是null,返回null;

  • 兩個操作數都是NaN,返回NaN;

  • 兩個操作數都是undefined,返回undefined

大家好接下來我們會邀請前端架構師以連載的方式,通過30天的實戰系統講解JavaScript的專業知識,歡迎大家關注頭條號「互聯網IT信息」。

Advertisements

你可能會喜歡