1、类型相同,基本类型,比较值是否相同。
对象,比较引用地址是否一致。
{ id: 1 } == { id: 1 }返回false,他们引用不同,不是一个对象
2、字符串与数值比较,转化为Number。
3、对象与基础类型比较,对象遵循上述转化规则去比较。
let a = {}; a == 0;返回false,先valueOf返回{},不等于0
4、null与undefined相等。
注意null与undefined在比较相等时不做任何转化。
即undefined、null与0、""、false等比较均返回false
NaN与任何数据比较相等返回false,比较不等返回true。
实例
console.log('packt'?true:false); //true 字符串长度大于1 console.log('packt'==true); //false /* 首先布尔值(true/false)会被toNumber方法转成数字 因此 'packt'==true 就被转化为 'packt'==1 其次 用toNumber转换字符串值 因为字符串中包含字母 就会被转换为NaN 那么表达式就会被转换为 NaN==1 结果就为false */ console.log('packt'==false); //false console.log(undefined==null); //truet
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理