我对我的NOOP问题有点困惑:
如果将字符串和数字进行比较,则字符串将被转换为整数:
"1"==1 //true使用字符串和数字操作,该数字将被转换为字符串:
"1"+1 // '11"为什么类型强制之间的javascript有这么大的差异?
发布于 2014-09-16 16:39:46
这就是操作符的定义方式(http://es5.github.io/#x11.9.3,http://es5.github.io/#x11.6.1)。
==时,如果一个操作数是字符串,另一个操作数是数字,则字符串转换为数字。+时,如果一个操作数是字符串,则另一个操作数转换为字符串。因此,差异在于哪个操作数被转换为哪种类型,每个操作数的类型不同(例如,对于乘法,两个操作数都转换为数字)。
https://stackoverflow.com/questions/25874000
复制相似问题