JavaScript判断变量是否为空的自定义函数分享

网络编程 2025-03-24 04:15www.168986.cn编程入门

JavaScript变量判断空值的方法分享

在JavaScript中,由于变量可以是多种类型,如string、object、number和boolean等,因此并没有一个内建的函数可以直接判断一个变量是否为空。但在实际开发中,我们经常需要这样的功能来判断变量是否未定义、为空字符串、为零值等。这里分享一个自定义函数,用以全面判断JS变量是否为空值。

函数定义如下:

当变量为undefined、null、空字符串、NaN、false、0、空数组或空对象时,该函数返回true,否则返回false。

代码如下:

```javascript

function isEmpty(v) {

switch (typeof v) {

case 'undefined':

return true;

case 'string':

// 去除字符串前后的空格,若字符串为空则返回true

return v.replace(/(^[ \t\r])|([ \t\r]$)/g, '').length == 0;

case 'boolean':

// 若为false则返回true

return !v;

case 'number':

// 若为0或NaN则返回true

return 0 === v || isNaN(v);

case 'object':

// 若为null或对象为空(如数组长度为0或对象无属性)则返回true

return null === v || (Array.isArray(v) && v.length === 0) || Object.keys(v).length === 0;

default:

return false; // 其他情况均返回false

}

}

```

测试代码:

以下是该函数的测试示例,当传入上述定义的空值类型时,函数均返回true;其他情况则返回false。

代码如下:

```javascript

console.log(isEmpty()); // true

console.log(isEmpty([])); // true

console.log(isEmpty({})); // true

console.log(isEmpty(0)); // true

console.log(isEmpty(Number("abc"))); // true (这里将字符串转为数字失败,结果为NaN)

console.log(isEmpty("")); // true

console.log(isEmpty(" ")); // true(只包含空格的字符串)

console.log(isEmpty(false)); // true

console.log(isEmpty(null)); // true

console.log(isEmpty(undefined)); // true

```

希望以上分享能对你有所帮助,如有其他疑问或需求,欢迎进一步交流。

上一篇:jQuery中inArray方法注意事项分析 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by