学习JS时候发现的:
<input type="text" value="1" id="plus">
获取到value值,类型是String。然后不进行值类型转换,直接进行自增,得到的结果却是Number型的2,按理说应该是'11'才对
console.log(document.querySelector('#plus').value);
原因是++,--都是做值自增,值自减
以 i++ 为例
都知道,i++表示i = i + 1
如果i为Number 类型,比如 i = 1,结果二者并无异同,自然都是数字2
关键是,如果 i是 String 类型,例:i = '1',
- 对于
i = i + 1,结果会变为'11',涉及到隐式转换,+的作用就表现为字符串间的拼接 - 而
i++,表示i = i + 1,按i = i + 1逻辑上一推理,最终结果也应该是'11',但是结果却是2!这是因为i++做的是值自增
517

被折叠的 条评论
为什么被折叠?



