JavaScript的關係(比較)運算子

來源:互聯網
上載者:User

標籤:

用於進行比較的運算子稱作為關係運算子:小於(<)、大於(>)、小於等於(<=)、大於等於(>=)、相等(==)、不等(!=)、全等(恒等)(===)、不全等(不恒等)(!==)

 

一、和其他運算子一樣,當關係運算子操作非數值時要遵循一下規則:
  1.兩個運算元都是數值,則數值比較;
  2.兩個運算元都是字串,則比較兩個字串對應的字元編碼值;
  3.兩個運算元有一個是數值,則將另一個轉換為數值,再進行數值比較;
  4.兩個運算元有一個是對象,則先調用 valueOf()方法或 toString()方法,再用結果比較;

  var box = 3 > 2; //true  var box = 3 > 22; //false  var box = ‘3‘ > 22; //false  var box = ‘3‘ > ‘22‘; //true  比較的是數值字串的第一個字元,這裡第一個字串的第一個數是3比第二個字串的第一個數2大,所以為true  var box = ‘a‘ > ‘b‘; //false a=97,b=98  var box = ‘a‘ > ‘B‘; //true B=66,a是97  var box = 1 > {}; //false  如果有 toString()或 valueOf()則返回 1 > 返回數的值  var box = 1>{    toString:function(){      return 2;    }  }//這樣比較的是1>這個對象的傳回值2嗎,結果是false

 

 

 

 

二、在相等和不等的比較上,如果運算元是非數值,則遵循一下規則:
  1.一個運算元是布爾值,則比較之前將其轉換為數值,false 轉成 0,true 轉成 1;
  2.一個運算元是字串,則比較之前將其轉成為數值再比較;
  3.一個運算元是對象,則先調用 valueOf()或 toString()方法後再和傳回值比較;
  4.不需要任何轉換的情況下,null 和 undefined 是相等的;
  5.一個運算元是 NaN,則==返回 false,!=返回 true;並且 NaN 和自身不等;
  6.兩個運算元都是對象,則比較他們是否是同一個對象,如果都指向同一個對象,則返回 true,否則返回 false。
  7.在全等和全不等的判斷上,比如值和類型都相等,才返回 true,否則返回 false。

   var box = 2 == 2; //true  var box = ‘2‘ == 2; //true,‘2‘會轉成成數值 2  var box = false == 0; //true,false 轉成數值就是 0  var box = ‘a‘ == ‘A‘; //false,轉換後的編碼不一樣  var box = 2 == {}; //false,執行 toString()或 valueOf()會改變  var box = 2 == NaN; //false,只要有 NaN,都是 false  var box = {} == {}; //false,比較的是他們的地址,每個新建立對象的引用地址都不同  var age = {};  var height = age;  var box = age == height; //true,引用地址一樣,所以相等  var box = ‘2‘ === 2 //false,值和類型都必須相等  var box = 2 !== 2 //false,值和類型都相等了

 

 

 

 

三、特殊值對比表

 

 

JavaScript的關係(比較)運算子

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.