zoukankan      html  css  js  c++  java
  • 非空判断与是否存在

    CreateTime--2017年2月16日14:11:35
    Author:Marydon

    非空判断与是否存在
    UpdateTime--2017年7月13日16:27:29

    1.取值问题

      1.1 使用javascript进行页面取值,获取到的值只会是字符串string类型;

        原因:如果页面上不存在该元素,运行js时会直接报错。

      1.2 使用jQuery进行页面取值时,获取到的值的类型只能有两种:string、undefined。

        原因:如果页面上存在该元素,返回的是字符串;如果页面上不存在该元素,返回的是undefined。

      1.3 使用js将null值赋到页面上时,赋的值其实是空字符串""; 

      1.4 从数据库查询数据,若字段是日期类型,字段值为空且SQL、java未将日期类型转换成字符串的情况下,返回的是null,是否存在判断用==null;

        字段为字符串类型且为空,返回的是空字符串"";

      1.5 通过JSON对象根据不存在的键取值时,返回的是undefined。

    2.判断值是否为空

    var keyVal= $("#key").val(); 
    if(null==keyVal || ""==keyVal){ 
        alert("隐藏域的值为空"); 
    } 

      注意:

        不要使用string.length == 0 判断,如果返回的是undefined,会直接报错,因为undefined没有.length属性。

    3.是否存在判断

      UpdateTime--2017年6月30日07:20:51

      js在作是否存在判断时,有两种方式:

      方式一:不声明!=null或==null

    /*非空判断*/
    if (variable) {
      //要执行的语句  
    }
    /*为空判断*/
    if (!variable) {
      //要执行的语句  
    }

      不适用场景:

        a1. 当variable=0时,if (variable) {},不进该if语句(但是,应该进if判断),更多内容见文章-javascript对于0的解读;

        a2. 当variable=""时,if (variable) {},不进该if语句,但是该进if语句;

    if (undefined == null) {
        alert("执行");
    }
    if (undefined) {
        alert("不执行");
    }     

      注意: js判断某值是否存在可以使用if(param){},java中不能使用这种判断方法,java中类似这样的使用场景,仅用于boolean类型判断

      JAVA举例:

    boolean flag = false;
    /*boolean类型判断*/
    // 方式一:只能用于boolean类型判断
    if (flag) {
        
    }
    // 方式二
    if (flag == true) {
        
    }
    // 这两种方式都对,都表示当flag=true时走if语句,只不过前者是对后者的简化
    /*不能用于非空判断*/
    String str = "测试非空判断";
    // 编译直接报错
    if (str) {
        
    }
    // 只能使用这种方式
    if (null != str) {
        
    }

      方式二:声明!=null或==null 

    /*非空判断*/
    if (null != variable) {
      //要执行的语句  
    }
    /*为空判断*/
    if (null == variable) {
      //要执行的语句  
    }

      注意:

        当variable=undefined时,直接用==null或!=null判断即可。如果是非空判断,不进if语句;若是为空判断,进if语句。  

    举例:

    var aa = 1;
    if (aa) {
        alert("tan")
    }
    /*当aa存在为0的情况时,进行的非空判断*/
    aa = 0;
    // 必须使用这种方式
    if (null != aa) {
        alert("tan")
    }
    // 不能使用这种方式
    if (aa) {
        alert("不弹");
    }

      UpdateTime--2017年7月12日08:12:13

      小结: 

         方式a通常用于判断方法参数是否存在(if-else语句),举例:

    this.showMessage = function(title, url, width, height, type) {
            var object = this;
            this.Title = title ? title : "无标题";
            this.Width = width ? width : 500;
            this.Height = height ? height : 300;
    }

        说明:三元运算符判断是if-else语句的变形方式之一,更多变形见文章:if-else用法  

    UpdateTime--2017年7月26日17:24:08

    总结:

      是否存在判断

    /**
     * 是否存在判断
     */
    if (null != variable) {
        // 要执行的操作
    }

      非空判断

      情景一:

    /**
     * 非空判断(不确定变量是否存在或变量值可能为undefined)
     */
    if (null != variable && "" != variable) {
        // 要执行的操作
    }

      情景二: 

    /**
     * 非空判断(变量值只有两种可能:空字符串"";非空字符串)
     */
    if ("" != variable) {
        // 要执行的操作
    }
  • 相关阅读:
    SharePoint Framework (SPFx) 开发入门教程
    SharePoint 2013 Designer 入门教程
    SharePoint 2013 开发教程
    SharePoint 2013 入门教程
    SharePoint Online 部署SPFx Web部件
    SharePoint Online SPFx Web部件绑定数据
    SharePoint Online 创建SPFx客户端Web部件
    SharePoint Online 配置框架(SPFx)开发环境
    SharePoint Online 创建应用程序目录
    SharePoint Online 启用 IRM
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/6647378.html
Copyright © 2011-2022 走看看