之前群里有人問如何比較兩個時間大小,他的時間格式是 2014-08-08 而不是 2014-8-8。
所以我給的方法是 直接比較,如:
很方便不是么,但是原理是什么呢?
打開 ECMA 第 11.8.5 節 The Abstract Relational Comparison Algorithm
在 4. Else, both px and py are Strings 處可以看到字符串比較的情況。
或者翻開 V8 簡單看下,在 COMPARE 處,
全文:http://www.cnblogs.com/52cik/p/js-string-comparison.html
附上:
<script type="text/javascript">
function test(){
//1)純數字之間比較
//alert(1<3);//true
//2)數字字符串比較,會將其先轉成數字
//alert("1"<"3");//true
//alert("123"<"123");//false
//3)純字符串比較,先轉成ascii碼
//alert("a"<"b");//true
//alert("abc"<"aad");//false,多純字母比較,會依次比較ascii碼
//4)漢字比較
//alert("我".charCodeAt());//25105
//alert("的".charCodeAt());//30340
//alert("我"<"的");//true,漢字比較,轉成ascii碼
//5)當數字和字符串比較,且字符串為數字。則將數字字符串轉為數字
//alert(123<"124");//true,下面一句代碼得出124的ascii碼為49,所以並不是轉成ascii比較
//alert("124".charCodeAt());//49
//6)當數字和字符串比較,且字符串為非純數字時,則將非數字字符串轉成數字的時候會轉換為NaN,當NaN和數字比較時不論大小都返回false.
alert(13>"abc");//false
}
</script>
全文:http://www.cnblogs.com/icerainsoft/p/3448161.html
