2012-06-02 84 views

回答

38

字符串按字符進行比較,直到它們不相等或者沒有任何字符需要比較。 '11'的第一個字符小於'3'的第一個字符。

> '11' < '3' 
true 
> '31' < '3' 
false 
> '31' < '32' 
true 
> '31' < '30' 
false 

如果我們使用字母的話,因爲b不低於a少,abc不低於aaa少,但由於c小於dabc小於abd

> 'abc' < 'aaa' 
false 
> 'abc' < 'abd' 
true 
+0

是的。字符串比較大多按字母順序完成。 – jpaugh

+0

只是一個簡單的說明:注意小便和大便。大便器出現在小便器之前。例如:''abc'<'Abd'// false' – viery365

2

'1' < '3'由於第一個字符是「最重要的字符」(而不是這個術語有任何意義)。任何以下字符將不會被比較。

+0

我猜OP可能不知道ASCII。因此,我認爲如果包含一個排序的字符列表可能會有所幫助。這裏是:[ASCII](http://en.wikipedia.org/wiki/ASCII)。 – Haozhun

3

它比較由每個字符,以下將false

if ('41' < '3') alert('true'); 

由於4不小於3。所以基本上你的比較歸結爲:

if ('1' < '3') alert('true'); // true 
2

默認情況下,JavaScript會比較兩個字符串的每個字符的序數值;就像如何strcmp()作品C.

要做比較的工作,你可以一邊投以一個數字來告訴你解釋數值比較用心:

Number('11') < '3' // false 
+'11' < '3' // false, using + to coerce '11' to a numeric 

'11' < Number('3') // false 
'11' < +'3' // false 
0

它被視爲字符串比較。所以1 < 3(兩個字符串的第一個字符)然後字符串11在字符串3之前

相關問題