zoukankan      html  css  js  c++  java
  • JavaScript中值的真真假假(true and false)

    值为flase的有:

    false
    0  
    "" //空串
    null
    undefined
    NaN 
    

    除了以上的之外的都是ture,包括"0" (zero in quotes), "false" (false in quotes) , empty functions, [](空数组), and {}(empty objects),都是为true

    var a = !!(0);    // false
    var b = !!("0");  // true
    

    为false的类型之间的比较:

    false0 (zero), and "" (empty string)这三个都是"=="相等的

    var c = (false == 0); // true
    var d = (false == ""); // true  
    var e = (0 == ""); // true  
    

    null 和 undefined 除了他们自己本身相比较是"=="相等的,与其他的值相比较是不相等的

    var f = (null == false); // false  
    var g = (null == null); // true  
    var h = (undefined == undefined); // true
    var i = (undefined == null); // true  
    

    还有一个比较特殊的NaN,他和任何一个值都不相等

    var j = (NaN == null); // false  
    var k = (NaN == NaN); // false 
    

    typeof(NaN)返回的“number”,一般我们通过isNaN()来判断一个值是不是NaN

    上面的情况,如果使用“===”严格全等和“!==”严格不等,情况又不太一样了,这两个比较的是包括了类型和值

    var l = (false == 0); // true
    var m = (false === 0); // false
    

    附上两适用的方法:

    1.检查是否位空数组

    var n =  ([].length == 0)  // ture
    

    2.检查是否位空对象

    var obj = {};
    for (var i in obj){
        if(obj[i]) {
            return true;
        } else {
            return false;
        }
    }
    
  • 相关阅读:
    python高级特性和高阶函数
    代理模式及案例
    我的报错错误记录
    摘抄-编码规范
    测试java的Lambda语法
    测试IDEA将新建项目提交到github上
    js处理科学计数法
    测试java操作运算符
    java根据模板生成,导出word和pdf(aspose.words实现word转换pdf)
    sqlserver日期函数
  • 原文地址:https://www.cnblogs.com/h07061108/p/js_true_false.html
Copyright © 2011-2022 走看看