javascript隐式类型转换

2018-07-25  本文已影响0人  喜欢打王者农药

javascript的数据类型是非常的弱的(不然就不会叫它是弱类型语言了)

在使用算术运算符时,运算符两边的数据类型可以使任意的。

代码片段

看这个我想大家就能看出来 第一个先把true转成了1 然后 3+1 = 4,第二个则是直接把5转成了字符串然后相加

这是为啥呢

因为javascript偷偷地转换了数据类型啊

这里我们要注意一点,+的运算方向由左到右的

代码

奇怪,那 -  / % * 与字符串计算会有啥反应呢。

代码

看来 他们都没有事情,那么我们就需要好好记住了,数字与字符串+的时候会转成字符串。

这里还有一个特例就是 null 进行运算+ * -的时候 会被转换成0,

不能/ % 因为除数不能等于0.(忘了是中学还是小学老师教得了)。

总结:

1.+ 既可以表示字符串连接,也可以表示算术加,主要是取决于左右两边的数据类型。

2.% - / *这些运算符进行计算的时候会把左右两边转成数字(前提是两边都是数字或者数字字符串)

3.null进行计算的时候回变成0。(/ %这种情况除外)。

上一篇 下一篇

猜你喜欢

热点阅读