js中不同类型作比较
示例:
<!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