猿问
为什么js里"10000"<"8000"为true
如题,js不是弱类型语言么,字符串相减不应该自动转换为数字类型运算么
慕的地8271018
浏览 794
回答 1
1回答
皈依舞
如果两个数字型的字符串相减,或者其中一个为字符串时,那么会自动转换为数字类型的进行运算:'10000' - '8000' // 2000 10000 - '8000' // 2000 10000 > '8000' // true但如果是两个都是数字型的字符串进行比较,那就不会自动转换为数字类型,会按照纯字符串的比较规则进行比较:从字符串左边开始,一次比较每个字符(比较每个字符对应的ASCII值),直接出现差异、或者其中一个串结束为止比如 '10000' 和 '8000' 这两个字符串比较, 字符'8'对应的ASCII值比字符'1'对应的ASCII值要大,则比较直接结束,最后的结果则是'8000'>'10000'
0
0
0
随时随地看视频
慕课网APP
相关分类
Html5
我要回答