JavaScript 大小比較
■知識點
比較大小關系的運算符有4個,詳細說明如表所示。
大小運算符 | 說 明 |
< | 如果第1個操作數(shù)小于第2個操作數(shù),則返回true,否則返回false |
<= | 如果第1個操作數(shù)小于或等于第2個操作數(shù),則返回true,否則返回false |
>= | 如果第1個操作數(shù)大于或等于第2個操作數(shù),則返回true,否則返回false |
> | 如果第1個操作數(shù)大于第2個操作數(shù),則返回true,否則返回false |
操作數(shù)可以是任意類型的值,但是在執(zhí)行運算時,會被轉換為數(shù)字或字符串,然后再進行比較。如果是數(shù)字,則比較大??;如果是字符串,則根據(jù)字符編碼表中的編碼值,從左到右逐個比較每個字符。
■實例設計
如果兩個操作數(shù)都是數(shù)字,或者一個是數(shù)值,另一個可以被轉換成數(shù)字,則將根據(jù)數(shù)字大小進行比較。
console.log(4>3); //返回true,直接利用數(shù)值大小進行比較
console.log("4">Infinity); //返回false,無窮大比任何數(shù)字都大
如果兩個操作數(shù)都是字符串,則執(zhí)行字符串比較。
console.log("4">"3"); //返回true,根據(jù)字符編碼表的編碼值比較
console.log("a">"b"); //返回false,a編碼為61,b編碼為62
console.log("ab">"cb"); //返回false,c編碼為63
console.log("abd">"abc"); //如果前面相同,則比較下一個字符,以此類推
注意:
字符比較是區(qū)分大小寫的,一般小寫字符大于大寫字符。如果不區(qū)分大小寫,則建議使用toLowerCase()或toUpperCase()方法把字符串統(tǒng)一為小寫或大寫形式之后再比較。
如果一個操作數(shù)是數(shù)字,或者被轉換為數(shù)字;另一個是字符串,或者被轉換為字符串。則使用parselnt()方法將字符串轉換為數(shù)字,對于非數(shù)字字符串,將被轉換為NaN,最后以數(shù)字方式進行比較。
如果一個操作數(shù)為NaN,或者被轉換為NaN,則始終返回false。
console.log ("a">"3") ; //返回true,字符a編碼為61,字符3編碼為33
console.log ("a">3) ; //返回 false,字符 a 被強制轉換為 NaN
點擊加載更多評論>>