十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      ECMAScript關系操作符規則及應用技巧

      百恒網絡 2012-02-16 5136

      ECMAScript 關系操作符(小于(<)、大于(>)、小于等于(<=)和大于等于(>=))

      關系操作符

      小于(<)、大于(>)、小于等于(<=)和大于等于(>=)這幾個關系操作符用于對兩個值進行比較,比較的規則與我們在數學課上所學的一樣。這幾個操作符都返回一個布爾值,如下面的例子所示:

      var resultl=5>3; //true

      var result2=5<3; //false

      在此南昌網站建設公司前端開發工程師提示:與ECMAScript中的其他操作符一樣,當關系操作符的操作數使用了非數值時,也要進行數據轉換或完成某些奇怪的操作。以下就是相應的規則:

      ◎如果兩個操作數都是數值,則執行數值比較;

      ◎如果兩個操作數都是字符串,則比較兩個字符串對應的字符編碼值;

      ◎如果一個操作數是數值,則將另一個操作數轉換為一個數值,然后執行數值比較;

      ◎如果一個操作數是對象,則調用這個對象的valueOf()方法,用得到的結果按照前面的規則執行比較。如果對象沒有valueOf()方法,則調用toString()方法,并用得到的結果根據前面的規則執行比較;

      ◎如果一個操作數是布爾值,則先將其轉換為數值,然后再執行比較。

      在使用關系操作符比較兩個字符串時,會執行—種奇怪的操作。很多人都會認為,在比較字符串值時,小于的意思是“在字母表中的位置靠前”,而大于則意味著“在字母表中的位置靠后”,但實際上完全不是那么回事。在比較字符串時,實際比較的是兩個字符串中對應位置的每個字符的字符編碼值。經過這么一番比較之后,再返回一個布爾值。由于大寫字母的字符編碼全部小于小寫字母的字符編碼,因此我們就會看到如下所示的奇怪現象:

      var result="Brick"’<"alphabet"; //true

      在這個例子中,字符串”Brick”被認為小于字符串”alphabet”。原因是字母B的字符綿碼為66.而字母a的字符編碼是97。如果要真正按字母表順序比較字符串,南昌網站制作公司前端開發工程師認為,就必須把兩個操作數轉換為相同的大小寫形式(全部大寫或全部小寫),然后再執行比較,如下所示:

      var result="Brick".toLowerCase() <"alphabet".toLowerCase(); //false

      通過將兩個操作數都轉換為小寫形式,就可以得出”alphabet”按字母表順序排在。Brick。之前的正確判斷了。

      另一種奇怪的現象發生在比較兩個數字字符串的情況下,比如下面這個例子:

      var result="23"<"3"; //true

      確實,當比較字符串”23”是否小于”3”時,結果居然是true。這是因為兩個操作數都是字符串,而字符串比較的是字符編碼(”2”的字符編碼是50,而”3”的字符編碼是51)。不過,如果像下面例子中一樣,將一個操作數改為數值,比較的結果就正常了:

      var result="23"<3;//false

      此時,字符串”23”會被轉換成數值23,然后再與3進行比較,因此就會得到合理的結果。在比較數值,字符串都會被轉換成數值,然后再以數值方式與另一個數值比較,當然,這個規則對前面的例子是適用的。可是,如果那個字符串不能被轉換成一個合理的數值呢?比如:

      Var result=”a”<3;//false,因為”a”被轉換成了NaN

      由于字母”a”不能轉換成合理的數值,因此就被轉換成了NaN。南昌網頁設計公司技術人員介紹,所以根據規則,任何操作數與NaN進行關系比較,結果都是false。于是,就出現了下面這個有意思的現象:

      var resultl=NaN<3; //false

      var result2=NaN>=3; //false

      按照常理,如果一個值不小于另一個值,則一定是大于或等于那個值。然而,在與NaN進行比較時,這兩個比較操作的結果都返回了false。

      希望本文對廣大站長或從事企業網站建設公司的團隊有所幫助,如對此不太理解的,可以與南昌網絡公司百恒網絡技術部聯系。我們很高興與廣大站長和從事企業網站建設公司技術人員分享我們的技術和經驗。


      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

      歡迎您的光顧,我們將竭誠為您服務×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      精品美女在线观看| 无码A级毛片日韩精品| 久久精品久久久久观看99水蜜桃| 久久夜色精品国产www| 四虎成人精品国产永久免费无码| 四虎永久在线精品免费观看地址| 久久久无码精品人妻一区| 亚洲国产成人99精品激情在线| 久久精品国产亚洲AV大全| 老司机国内精品久久久久| 97久久精品国产精品青草| 国产精品.XX视频.XXTV| 日韩a级毛片免费视频| 久久精品国产亚洲av日韩| 中日韩美中文字幕| 亚洲av日韩av欧v在线天堂| 国产精品一区二区无线| 国产精品国产三级国产普通话a| 精品麻豆国产色欲色欲色欲www| 青娱乐2017年精品视频在线| 国产精品成人va在线观看| 久久热这里只有精品在线观看| 88国产精品视频一区二区三区| 无码精品日韩中文字幕| 亚洲国产精品一区二区久久| 无码精品国产VA在线观看| 国产精品第12页| 久久99精品视香蕉蕉| 久久精品国1国二国三在| 久久久久无码国产精品一区| 久久精品午夜福利| 国产精品美女一区二区视频| 九九热这里只有在线精品视| 国产午夜精品视频| 久热中文字幕在线精品首页 | 久久国产精品免费| 国产精品美女久久久久av爽| 久久精品国产只有精品66| 在线观看亚洲精品国产| 国产亚洲精品观看91在线| 国产AV无码专区亚洲精品|