两个不同类型的数据相加,如var a='123',var b=123,
则console.log(a+b)则会拼接为123123;
console.log(a-b)则为0;
减号涉及到隐式转换,能将字符串'123'转换为数字123。
不同类型的变量比较要先转类型,叫做类型转换,类型转换也叫隐式转换。隐式转换通常发生在运算符加减乘除、等于、还有小于、大于等。
js在进行隐式转换时,会有如下的顺序:
关于==隐式转换的规则,可以概括如下几点:
1. 字符串和数字比较时,字符串转数字;
2. 数字为布尔比较时,布尔转数字;
3. 字符串和布尔比较时,两者转数字;
4. 对象和布尔比较时,两者转数字;
5. 对象和数值比较时,对象转数字;
网友评论