JavaScript判断变量是否为空的自定义函数分享
作者:异步漫步时间:2026-10-28 21:18:33浏览:499
JavaScript原生未提供统一的空值判断函数,因变量类型多样需分别处理。本文分享一个自定义isEmpty函数,通过switch判断类型,涵盖undefined、null、空字符串、NaN、false、0、空数组及空对象等情形,并附带完整测试用例验证各类型返回值。
JavaScript判断变量为空值方法
JavaScript语言自身并未内置用于判断变量是否为空的统一函数,这主要是因为变量可能包含string、object、number或boolean等多种数据类型,而不同类别的数据需要采用不同的判定逻辑。为此,本文编写了一个名为isEmpty的函数,旨在统一判断JS变量是否为空。该函数对undefined、null、空字符串''、NaN、false、0、空数组[]以及空对象{}等情形均返回true,其余情况则返回false。
具体实现代码如下:
function isEmpty(v) {
switch (typeof v) {
case 'undefined':
return true;
case 'string':
if (v.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true;
break;
case 'boolean':
if (!v) return true;
break;
case 'number':
if (0 === v || isNaN(v)) return true;
break;
case 'object':
if (null === v || v.length === 0) return true;
for (var i in v) {
return false;
}
return true;
}
return false;
}
测试用例如下:
测试代码如下:
isEmpty() //true
isEmpty([]) //true
isEmpty({}) //true
isEmpty(0) //true
isEmpty(Number("abc")) //true
isEmpty("") //true
isEmpty(" ") //true
isEmpty(false) //true
isEmpty(null) //true
isEmpty(undefined) //true作者最新文章
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
