如題,js不是弱類型語(yǔ)言么,字符串相減不應(yīng)該自動(dòng)轉(zhuǎn)換為數(shù)字類型運(yùn)算么
1 回答

哈士奇WWW
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果兩個(gè)數(shù)字型的字符串相減,或者其中一個(gè)為字符串時(shí),那么會(huì)自動(dòng)轉(zhuǎn)換為數(shù)字類型的進(jìn)行運(yùn)算:
'10000' - '8000' // 2000 10000 - '8000' // 2000 10000 > '8000' // true
但如果是兩個(gè)都是數(shù)字型的字符串進(jìn)行比較,那就不會(huì)自動(dòng)
轉(zhuǎn)換為數(shù)字類型,會(huì)按照純字符串的比較規(guī)則進(jìn)行比較:
從字符串左邊開始,一次比較每個(gè)字符(比較每個(gè)字符對(duì)應(yīng)的ASCII值),直接出現(xiàn)差異、或者其中一個(gè)串結(jié)束為止
比如 '10000' 和 '8000' 這兩個(gè)字符串比較, 字符'8'對(duì)應(yīng)的ASCII值比字符'1'對(duì)應(yīng)的ASCII值要大,則比較直接結(jié)束,最后的結(jié)果則是'8000'>'10000'
- 1 回答
- 0 關(guān)注
- 465 瀏覽
添加回答
舉報(bào)
0/150
提交
取消