类型1:关系运算符的隐式转换
//类型1:关系运算符:会将其他的数据类型转化为Number再比较
console.log("2">10);//false
console.log("2">"10");//true
//这是因为 "2".charCodeAt>"10".charCodeAt
console.log("abc">"b");//flase
console.log("abc">"aab");//true
//先将左边的首字母与右边的首字母比较如果不同则可以直接判断
//如果字母相同那就接着比较直到出现不同的字母
类型2:连接运算符的隐式转换
//类型2:连接运算符的隐式转换
//转String类型,两边必须要有一个字符串
console.log(1+"true");//"1true"
console.log(1+true);//2
//会先将true 转化为Number类型
console.log(1+"underfined");//NaN
console.log(1+null);//1
类型3:复杂类型的隐式转换
//类型3:复杂的类型再隐式转换的时候,先转换为String类型,然后再转换为Number类型
console.log([1,2]=="1,2");//true
//[1,2]先转换为"1,2"
//然后"1,2"再转化为Number 49
var a={};
console.log(a=="[object,object]");//true
//a是一个对象 转化为String类型为"[object,object]"
类型4:含有!的隐式转换
javascript
//类型4:当有逻辑非的时候 在运算符里面先转换为boolean类型
console.log("[]"==0);//true
//"[]"先转换为String类型""然后再转换为Number类型0
console.log("![]==0"); //true
//先将[]转换为Boolean类型 true 然后再去非变成 false
console.log({}=={});//假
//对象地址不一样
console.log({}==!{});//假
这是基本类型的转换表