JS判断变量是否为空判断是否null

 更新时间:2023年04月15日 09:56:05   投稿:whsnow  
本节主要介绍了JS判断变量是否为空是否null的方法,需要的朋友可以参考下

null:空类型。它是JavaScript五种原始类型(boolean、number、string、null、undefined)中的一种。该原始类型仅有一个值:null。

JavaScript 判断空值、NULL、undefined的方法

JavaScript 如果要判断变量是否已定义,可以使用 typeof:

实例

if(typeof someVar == 'undefined') {
  document.write("变量 someVar 未定义");
} else {
  document.write("变量 someVar 已定义");
}

JavaScript 如果只想判断已定义变量是否为 true 可以直接使用以下方法:

实例

if (strValue) {
    // strValue 为 true 执行的代码
} else {
    // strValue 为 false 执行的代码
}

以下使用正则的方法判断变量是否已定义并且不为空,比较完整的方法:

实例

if ( // 返回判断的值
        (typeof x == 'undefined')
              ||
        (x == null)
              ||
        (x == false)        //类似: !x
              ||
        (x.length == 0)
              ||
        (x == 0)            // 这里是判断 0,不需要刻意去掉
              ||
        (x == "")
              ||
        (x.replace(/\s/g,"") == "")
              ||
        (!/[^\s]/.test(x))
              ||
        (/^\s*$/.test(x))
    ) {
  document.write("变量未定义或为空");
}

也可以封装一个方法来判断,包含了空值、0、false 等,适用已定义的变量:

实例

function empty(e) {
  switch (e) {
    case "":
    case 0:
    case "0":
    case null:
    case false:
    case undefined:
      return true;
    default:
      return false;
  }
}

empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
    return ""
})) // false

在鉴别JavaScript原始类型的时候我们会用到typeof操作符。

Typeof操作符可用于字符串、数字、布尔和未定义类型。****但是你运行typeof null时,结果是“object”(在逻辑上,你可以认为null是一个空的对象指针,所以结果为“object”)。

判断一个值是否为空类型的最佳方法是直接和null比较:

value === null;    //true or false
 if(show.isProfitSplit !== null) {
    filterModel.isProfitSplit = Number(show.isProfitSplit);  
 }

这里使用的是三等号操作符(===)而不是双等号。三等号操作符在进行比较的时候不会将变量强制转换为另一种类型。

当你比较undefined 和 null的时候,双等号会认为他们相等,三等号认为不相等。三等号认为这两个值类型不同。例子如下:

undefined == null;    //true
console.log(undefined == null);
undefined === null;   //false
console.log(undefined === null);

今天看到一个判断值是否没空的方法

var jb51=""
if(jb51){
    document.write('jb51变量不为空');
}else{
    document.write('jb51变量为空');
}
/** 
* 判断是否null 
* @param data 
*/ 
function isNull(data){ 
return (data == "" || data == undefined || data == null) ? "暂无" : data; 
}

到此这篇关于JS判断变量是否为空判断是否null的文章就介绍到这了,更多相关JS判断变量是否为空内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Javascript监视变量变化的方法

    Javascript监视变量变化的方法

    这篇文章主要介绍了Javascript监视变量变化的方法,涉及javascript针对变量的相关操作技巧,需要的朋友可以参考下
    2015-06-06
  • JavaScript 继承的实现

    JavaScript 继承的实现

    正因为JavaScript本身没有完整的类和继承的实现,并且我们也看到通过手工实现的方式存在很多问题, 因此对于这个富有挑战性的任务网上已经有很多实现了
    2009-07-07
  • JavaScript DOM节点操作方式全面讲解

    JavaScript DOM节点操作方式全面讲解

    DOM(Document Object Model 文档对象模型)定义了访问和操作文档的标准方法。整个浏览器网页就是一个Dom树形结构,这篇文章主要介绍了JavaScript DOM节点操作方式
    2022-10-10
  • JavaScript中如何判断一个值的类型

    JavaScript中如何判断一个值的类型

    在js中有一个运算符可以帮助我们判断一个值的类型,它就是typeof运算符。下面通过本文给大家分享JavaScript中如何判断一个值的类型,需要的朋友参考下吧
    2017-09-09
  • JavaScript中清空数组的三种方法分享

    JavaScript中清空数组的三种方法分享

    JavaScript中清空数组的三种方法分享,需要的朋友可以参考下。
    2011-04-04
  • JS将数字转换成三位逗号分隔的样式(示例代码)

    JS将数字转换成三位逗号分隔的样式(示例代码)

    本篇文章主要是对JS将数字转换成三位逗号分隔的样式(示例代码)进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • 基于js中的存储键值对以及注意事项介绍

    基于js中的存储键值对以及注意事项介绍

    下面小编就为大家介绍一下基于js中的存储键值对以及注意事项。希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Bootstrap弹出框(Popover)被挤压的问题小结

    Bootstrap弹出框(Popover)被挤压的问题小结

    比较了下Bootstrap的popover和一些其它的开源项目,觉得Bootstrap的还算不错。在使用过程中遇到了一系列问题,下面小编给大家分享Bootstrap弹出框(Popover)被挤压的问题小结,需要的朋友参考下吧
    2017-07-07
  • JS代码简洁方式之函数方法详解

    JS代码简洁方式之函数方法详解

    这篇文章主要介绍了JS代码简洁方式之函数方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Js实现两个跨域页面进行跳转传参的方案详解

    Js实现两个跨域页面进行跳转传参的方案详解

    这篇文章主要为大家详细介绍了JavaScript中实现两个跨域页面进行跳转传参的方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12

最新评论