忽略 undefined
开发过程中无意间碰到这个现象,求大神解释!
涉及到js的类型转换。
所以大概步骤是:
[100].valueOf().toString()
Number([100].valueOf().toString()) / Number(10)
因为做 + 运算时数组最后是转为String类型,做字符串拼接,所以是 10010
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
js 遇到预期为数值的地方,就会将参数值自动转换为数值。系统内部会自动调用Number函数。
除了加法运算符(+)一般会把运算项转为字符串,其他运算符都会把运算项自动转成数值。
Number(arr)=1200
简单来说就是隐式转换,你可以试试arr+100,它应该等于"1200100"而不是1300