隐式转换介绍
在js中,当运算符在运算时,如果两边数据不统一,CPU就无法计算,这时编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再进行计算。这种由编译器自动转换的方式就称为隐式转换。
例题:阅读以下代码选择出正确答案 ?
var num1=10;
var num2='20';
var num3=num1+(num2>10);
console.log(num3);
A、1020 B、11 C、undefined D、10true
答案:B
原理分析:
当关系运算符两端有一端是字符串的时候,会将其他数据类型使用Number()转换,然后进行比较计算。
var num3=num1+(num2>10);
这里num2转换为数字20,20大于10所以括弧里面为true,true为真通常用1来表示,num1为10,10+1=11,故选择B。