== :只比较两个对象的数值,不进行类型比较
===:比较两个对象的数值,并且对对象类型进行比较
测试: == 、 ===
var number=10;
var tempNumber=10;
var text="10";
console.log("==值相等:" + (number==text));
console.log("===值相等,类型一致:"+(number===text));
console.log("===值相等,类型一致:"+(number===parseInt(text)));
console.log("==值相等:"+(number==tempNumber));
console.log("===值相等,类型一致:"+(number===tempNumber));
结果:
"==值相等:true"
"===值相等,类型一致:false"
"===值相等,类型一致:true"
"==值相等:true"
"===值相等,类型一致:true"
结论:
== 只是比较两个对象的数值,如果定义的两个对象的初始化类型不一致,Javascript会自动进行类型转换,然后再进行数值比较,=== 不仅仅是比较数值还进行类型比较,通过parseInt等函数的返回值是明确指定数值类型的,因此可使用 === 进行相同类型的比较注意:在Javascript中数字类型和字符类型通常区别不明显,可以使用===进行严格的校验
测试:!= 、 !==
console.log("!=:值不相等:"+(number!=text));
console.log("!=:值相等,类型不同:"+(number!==text));
console.log("===值相等,类型一致:"+(number!==tempNumber));
结果:
"!=:值不相等:false"
"!=:值相等,类型不同:true"
"===值相等,类型一致:false"
结论:
!= 和 !== 区别也是 !== 增加了对象类型比较的限定
转载于:https://my.oschina.net/yangzhiwei256/blog/3016943