javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > JS判断变量是否为空

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

投稿: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判断变量是否为空内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文