

新闻资讯
常见问题null:空类型。它是JavaScript五种原始类型(boolean、number、string、null、undefined)中的一种。该原始类型仅有一个值:null。

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;
}