示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body>
</body>
<script>
// 0 和 '' 和 [] 和 false 四者任意比较(==)都为true
if(0 == '') {
console.log("1")
}
if(0 == []) {
console.log("2")
}
if(0 == false) {
console.log("3")
}
// 0 和 '' 和 [] 和 false 四者 与 {}比较(==)都为false
if(0 == {}) {
console.log("4")
}
//null 和 undefined比较(==)为true,和其他比较都为false
if(null == undefined) {
console.log("5")
}
// 0 和 '' 和 false 和 null 和 undefined 转换为布尔值默认都为false
if(0 || "" || false || null || undefined){
console.log("6")
}
//这五个值作!运算(取反运算),结果全为 true
console.log(!0) //true
console.log(!'') //true
console.log(!false) //true
console.log(!undefined) //true
console.log(!null) //true
// [] 和 {} 默认为 true
if([] && {}){
console.log("7")
}
</script>
</html>
结果:
注意:
示例都是 == 比较,而不是 ===
== 代表相同, ===代表严格相同,两者是有区别 的!
关于[]==![],{}==!{}的比较可参考:https://www.cnblogs.com/lovellll/p/10225524.html