- //1.純數字之間比較
- console.log(1<3);//true
- //2.純字符串比較,先轉成ASCII碼,按位依次比較
- console.log("1"<"3");//true
- console.log('5'<'10');//false
- console.log("5".charCodeAt());//53
- console.log("1".charCodeAt());//49
- console.log("123"<"123");//false
- console.log("a"<"b");//true
- console.log("a".charCodeAt());//97
- console.log("b".charCodeAt());//98
- console.log("abc"<"aad");//false
- //3.漢字比較
- console.log("我".charCodeAt());//25105
- console.log("的".charCodeAt());//30340
- console.log("我"<"的");//true,漢字比較,轉成ASCII碼
- //4.當數字和字符串比較,且字符串為數字。則將數字字符串轉為數字
- console.log(123<"124");//true,下面一句代碼得出124的ASCII碼為49,所以並不是轉成ASCII比較
- console.log("124".charCodeAt());//49
- //5.當數字和字符串比較,且字符串為非純數字時,則將非數字字符串轉成數字的時候會轉換為NaN,當NaN和數字比較時不論大小都返回false.
- console.log(13>"abc")//false
- 總結起來就3點:
1:純字符串比較,轉換成ASCII碼在進行比較;
2:純數字和數字字符串相比較,則將字符串數字隱式轉換成數字再進行比較;
3:純數字和非數字字符串比較,都返回false;