1、案例:
分析案例的结果console.log( [ ] == ! [ ]) //true
2、解析:
(1).首先空数组[]或者空对象{}转为布尔类型结果均为true!!!
console.log( [ ] ); //Array[0]
console.log( ! [ ] ); //false
(2).数组或对象在比较大小时要转化为字符串
布尔值在比较大小时转化为数字
console.log( [ ] == ! [ ])
这个例子中:
右边是布尔类型,结果为false,转化为数字是0;
左边是数组------转化为字符串为" ",空字符串布尔值为false,转为数字是0
左右均为0,所以结果为true
(3).补充:
字符串比较大小:(只分析==的情况,不分析===)
a.如果==两边均为字符串,则比较两个字符串的内容是否相等即可
b.如果==两边是字符串和数字,则将字符串转为数字再进行比较