1:var box='3'>'22';
alert(box); //true 如果两个是数值字符串 那么比较的是第一个数值 即 3和2的比较
2:var box=3>'22' //false 如果只有一个字符串数值 那么会将那个字符串数值转换成数值 再比较
3:var box=(2=='2') //true 这样比较的是转换后的数值比较
4:var box = {}=={} //false 比较的是对象的地址 分别创建的两个对象是不同地址
5:var box ={} var bb=box; bb==box //true 这个时候引用地址一样
6:null == 0 //false null自动转换为0 但是比较运算时 null undefined不会自动转换 所以不想等
!!null==0 //true 加了两个感叹号又可以转换了
‘’==0 //true 字符串在比较的时候可以自动转换数值
7:关于 && 比较的注意要点
如果两边的操作数有一个操作数不是布尔值的情况下,与运算就不一定返回布尔值,此时遵循以下规则:
a:第一个操作数是对象 则返回第二个操作数
b:第二个操作数是对象 则第一个操作数返回true 才返回第二个操作数 否则返回false
c:有一个操作数是null则返回null
d:有一个操作数是undefined 则返回undefined
注意:如果第一个操作数是false 那么不管第二个操作数是什么都返回false