== 和 ===
==: 两个变量的 字面值 相等,就为 true,不比较 变量的 数据类型
===:先比较两个变量的 数据类型 是否相同,如果相同,再比较 值 是否相同,都相同才为 true
案例
<script>
var a = 1 // number类型
var b = "1" // string类型
var c = 1 // number类型
console.log("a==b",a == b) //true,==比较字面值,不比较类型
console.log("a===b",a === b) //false,===即比较类型,又比较值。推荐,严格的
console.log("a===c",a === c)
</script>
选择
一般推荐使用 ===,更加严格
!= 和 !==
!=: 两个变量的 字面值 不相等,就为 true,不比较 变量的 数据类型
!==:先比较两个变量的 数据类型 是否相同,如果不相同 就为 true;如果相同,再比较 值 是否相同,如果不相同 就为 true,如果相同 才为 false
案例
<script>
var a = 1 // number类型
var b = "1" // string类型
var c = 1 // number类型
console.log("a!=b",a != b) //false,只比较字面值
console.log("a!==b",a !== b) //true,数据类型不相同
console.log("a!==c",a !== c) // false,数据类型 和 值都相同
</script>