js中数字类型的字符串为什么不能转换为Number
1、JavaScript中有一个特殊的值叫做NaN,它代表着“不是一个数字(Not a Number)”。NaN值通常出现在数学计算中,当遇到一些错误类型的计算结果时,就会被返回为NaN。例如,0/0、Infinity/Infinity以及字符串与数字相加等情形都会返回NaN。虽然NaN不是一个数字,但它属于数字数据类型。
2、因为NaN的数据类型就是数字,就是number;他是一个特殊的number。
3、js字符串加数字是string类型。见在js中,当字符串与数字相加时,数字转换为string类型,起到一个拼接的作用,当相减时,字符串则转换为number类型,即数字相加减。
4、数字转换 Number(object):把object转化为数字。如果参数是 Date 对象,Number() 返回从1970年1月1日至今的毫秒数。如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。在JS里做加法运算的时候,运算结果总是会变成字符串拼接。