JS的隐式转换与显式转换

隐式转换:

所谓隐式转换,就是当运算符在运算时,两边数据不统一,编译器会自动将两边数据进行数据类型转换成统一的再计算

常见隐式转换:

1、算术运算符:加(+)、减(-)、乘(*)、除(/)、取模(%),++,--,大小于(>、<)(前面的这些隐式转 换为Number,无法转换为数字(如"abc"、“JavaScript”),则会转换为 NaN)

        注意:加(+)比较特殊,如果有字符串,则全部转换为String,如果没有字符串,还是隐式  转换为Number

2、逻辑运算符:逻辑与(&&)、逻辑或(||)、逻辑非(!),还有判断语句,隐式转换为Boolean;

3、字符串运算符:+-、+=

4、==运算符

        String == Number : 字符串将会转化为number去比较。

        Anyting == Boolean:布尔类型会转化为number类型(0或者1) ,然后比较。

        null == undefinded: 返回true。

        Object == non-Object: 如果object/function/array与一个基本类型的数据作对比(string or         number), 首先将对象转换 成基本类型数据,会先使用valueOf()、再toString()方法。

显式转换

        与隐式类型转换相反,强制类型转换需要手动进行,在 JavaScript 中,强制类型转换主要是通过调用全局函数来实现的。Number(value)、parseInt(value, radix)、parseFloat(value)、Boolean()、String()...

你可能感兴趣的:(javascript,前端,1024程序员节)