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

posted @ 2019-09-12 14:23  蛋片鸡  阅读(729)  评论(0编辑  收藏  举报