位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > JavaScript > 問(wèn)題詳情

JavaScript 大小比較

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-24

■知識(shí)點(diǎn)

比較大小關(guān)系的運(yùn)算符有4個(gè),詳細(xì)說(shuō)明如表所示。

大小運(yùn)算符

說(shuō)

<

如果第1個(gè)操作數(shù)小于第2個(gè)操作數(shù),則返回true,否則返回false

<=

如果第1個(gè)操作數(shù)小于或等于第2個(gè)操作數(shù),則返回true,否則返回false

>=

如果第1個(gè)操作數(shù)大于或等于第2個(gè)操作數(shù),則返回true否則返回false

>

如果第1個(gè)操作數(shù)大于第2個(gè)操作數(shù),則返回true,否則返回false

操作數(shù)可以是任意類(lèi)型的值,但是在執(zhí)行運(yùn)算時(shí),會(huì)被轉(zhuǎn)換為數(shù)字或字符串,然后再進(jìn)行比較。如果是數(shù)字,則比較大小;如果是字符串,則根據(jù)字符編碼表中的編碼值,從左到右逐個(gè)比較每個(gè)字符。

■實(shí)例設(shè)計(jì)

如果兩個(gè)操作數(shù)都是數(shù)字,或者一個(gè)是數(shù)值,另一個(gè)可以被轉(zhuǎn)換成數(shù)字,則將根據(jù)數(shù)字大小進(jìn)行比較。

console.log(4>3);           //返回true,直接利用數(shù)值大小進(jìn)行比較

console.log("4">Infinity);  //返回false,無(wú)窮大比任何數(shù)字都大

如果兩個(gè)操作數(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");   //如果前面相同,則比較下一個(gè)字符,以此類(lèi)推

注意:

字符比較是區(qū)分大小寫(xiě)的,一般小寫(xiě)字符大于大寫(xiě)字符。如果不區(qū)分大小寫(xiě),則建議使用toLowerCase()或toUpperCase()方法把字符串統(tǒng)一為小寫(xiě)或大寫(xiě)形式之后再比較。

    如果一個(gè)操作數(shù)是數(shù)字,或者被轉(zhuǎn)換為數(shù)字;另一個(gè)是字符串,或者被轉(zhuǎn)換為字符串。則使用parselnt()方法將字符串轉(zhuǎn)換為數(shù)字,對(duì)于非數(shù)字字符串,將被轉(zhuǎn)換為NaN,最后以數(shù)字方式進(jìn)行比較。

    如果一個(gè)操作數(shù)為NaN,或者被轉(zhuǎn)換為NaN,則始終返回false。

    console.log ("a">"3") ; //返回true,字符a編碼為61,字符3編碼為33

    console.log ("a">3) ; //返回 false,字符 a 被強(qiáng)制轉(zhuǎn)換為 NaN


繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部