zoukankan      html  css  js  c++  java
  • 判断条件问题是否存在

    从百度规范代码中找到

    如果判断一个字符是否为空

    // 字符串为空
    
    // good
    if (!name) {
        // ......
    }
    
    // 字符串非空
    
    // good
    if (name) {
        // ......
    }

    上面的方法推荐使用

    如果 判断一个数组是否为空,下面的是目前我们小组推荐使用的

    // 
    if (collection.length > 0) {
        // ......
    }
     布尔类型判断
    // 布尔不成立
    
    // good
    if (!notTrue) {
        // ......
    }


    // null 或 undefined

    // good
    if (noValue == null) {
      // ......
    }


    最近突然发现自己写的JavaScript代码比较臃肿,所以开始研究JavaScript的简写方法。这样一来,可以让我们的JavaScript代码看起来比较清爽,同时也可以提高我们的技术。那么判断为空怎么简写呢?
    下面就是有关判断为空的简写方法。
    代码如下
    复制代码 代码如下:
    if (variable1 !== null || variable1 !== undefined || variable1 !== '') {
    var variable2 = variable1;
    }
    
    
    上面的意思是说如果variable1不是一个空对象,或者未定义,或者不等于空字符串,那么声明一个variable2变量,将variable1赋给variable2。也就是说如果variable1存在那么就将variable1的值赋给variable2,若不存在则为空字符串。如下面的简写代码。
    简写代码:
    代码如下
    复制代码 代码如下:
    var variable2 = variable1 || '';
    
    
    以下是不正确的方法:
    代码如下
    复制代码 代码如下:
    var exp = null;
    if (exp == null)
    {
    alert("is null");
    }
    
    
    exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 null 和 undefined 时可使用本法。
    代码如下
    复制代码 代码如下:
    var exp = null;
    if (!exp)
    {
    alert("is null");
    }
    
    
    如果 exp 为 undefined,或数字零,或 false,也会得到与 null 相同的结果,虽然 null 和二者不一样。注意:要同时判断 null、undefined、数字零、false 时可使用本法。
    代码如下
    复制代码 代码如下:
    var exp = null;
    if (typeof exp == "null")
    {
    alert("is null");
    }
    
    
    为了向下兼容,exp 为 null 时,typeof null 总返回 object,所以不能这样判断。
    代码如下
    复制代码 代码如下:
    var exp = null;
    if (isNull(exp))
    {
    alert("is null");
    }
    
    
    判断字符串是否为空
    s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ fnrtv]。 很多情况下,都是用length来直接判断字符串是否为空,如下:
    代码如下
    复制代码 代码如下:
    var strings = '';
    if (string.length == 0)
    {
    alert('不能为空');
    }
    
    
    但如果用户输入的是空格,制表符,换页符呢?这样的话,也是不为空的,但是这样的数据就不是我们想要的吧。
    其实可以用正则表达式来把这些“空”的符号去掉来判断的
    代码如下
    复制代码 代码如下:
    var strings = ' ';
    if (strings.replace(/(^s*)|(s*$)/g, "").length ==0)
    {
    alert('不能为空');
    } 
  • 相关阅读:
    Java基础(二十三)——IO流
    Java基础(二十二) 递归
    Java基础(二十二) Lambda表达式和File类
    Java基础(二十一)——多线程和Lambda表达式
    Java基础(二十)——多线程
    Java基础(十八)——Comparator比较器、Comparable接口和Map集合
    根据 key值查找数组对象中所有的符合的对象 (递归)
    超级好用的 支付宝小程序 网络请求封装 async/await
    关于Vue Loading chunk {n} failed的问题
    支付宝小程序iconfont兼容性问题
  • 原文地址:https://www.cnblogs.com/yjhua/p/4994758.html
Copyright © 2011-2022 走看看