JavaScript判断变量是否为空的自定义函数分享
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
```
希望以上分享能对你有所帮助,如有其他疑问或需求,欢迎进一步交流。
编程语言
- JavaScript判断变量是否为空的自定义函数分享
- jQuery中inArray方法注意事项分析
- Node.js 获取微信JS-SDK CONFIG的方法示例
- JavaScript黑洞数字之运算路线查找算法(递归算法
- ASP中的面向对象类
- node.js到底要不要加分号浅析
- AJAX避免用户重复提交请求实现方案
- angular过滤器实现排序功能
- JavaScript中使用参数个数实现重载功能
- laravel-admin解决表单select联动时,编辑默认没选上的
- Jquery实现获取子元素的方法分析
- 编写xml没有代码提示的解决方法
- flag和jq on 的绑定多个对象和方法(必看)
- PHP获取文件相对路径的方法
- PHP Trait功能与用法实例分析
- PHP检测用户是否关闭浏览器的方法