3 回答

TA貢獻1900條經(jīng)驗 獲得超5個贊
字符串按字典順序進行比較。即逐個字符,直到它們不相等或沒有要比較的字符為止。“ 11”的首字符小于“ 3”的首字符。
> '11' < '3'
true
> '31' < '3'
false
> '31' < '32'
true
> '31' < '30'
false
如果我們使用字母,則因為b不小于a,abc不小于aaa,但是由于c小于d,abc小于abd。
> 'abc' < 'aaa'
false
> 'abc' < 'abd'
true
您可以將字符串顯式轉(zhuǎn)換為數(shù)字:
> +'11' < '3'
false

TA貢獻1807條經(jīng)驗 獲得超9個贊
默認情況下,JavaScript將根據(jù)每個字符的序號值比較兩個字符串;很像strcmp()在C語言中的工作方式。
為了使您的比較工作有效,您可以將任一側(cè)強制轉(zhuǎn)換為數(shù)字,以告訴解釋器您進行數(shù)字比較的意圖:
Number('11') < '3' // false
+'11' < '3' // false, using + to coerce '11' to a numeric
'11' < Number('3') // false
'11' < +'3' // false

TA貢獻1827條經(jīng)驗 獲得超8個贊
按每個字符進行比較,結(jié)果如下false:
if ('41' < '3') alert('true');
由于4不小于3。因此,本質(zhì)上,您的比較可以歸結(jié)為:
if ('1' < '3') alert('true'); // true
添加回答
舉報