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


Posted in Javascript onJanuary 31, 2015

JavaScript本身没有判断一个变量是不是空值的函数,因为变量有可能是string,object,number,boolean等类型,类型不同,判断方法也不同。所以在文章中写了一个函数,用以判断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

Javascript 相关文章推荐
document.getElementById方法在Firefox与IE中的区别
May 18 Javascript
IE6图片加载的一个BUG解决方法
Jul 13 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 Javascript
javascript中数组array及string的方法总结
Nov 28 Javascript
JavaScript实现添加、查找、删除元素
Jul 02 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
Dec 26 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
May 20 Javascript
Node.js 文件夹目录结构创建实例代码
Jul 08 Javascript
深入浅析search 搜索框的写法
Aug 02 Javascript
javascript 取小数点后几位几种方法总结
Aug 02 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
Feb 24 Javascript
VUE 实现element upload上传图片到阿里云
Aug 12 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
Dec 24 #Javascript
js判断登录与否并确定跳转页面的方法
Jan 30 #Javascript
jQuery知识点整理
Jan 30 #Javascript
浅谈jquery回调函数callback的使用
Jan 30 #Javascript
jQuery修改class属性和CSS样式整理
Jan 30 #Javascript
javascript中AJAX用法实例分析
Jan 30 #Javascript
JavaScript基础函数整理汇总
Jan 30 #Javascript
You might like
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
php switch语句多个值匹配同一代码块的实现
2014/03/03 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
jquery 锁定弹出层实现代码
2010/02/23 Javascript
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
2017/01/04 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
在iFrame子页面里实现模态框的方法
2018/08/17 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
建筑工程自我鉴定
2013/10/18 职场文书
中文专业毕业生自荐信
2013/10/28 职场文书
岗位职责风险防控
2014/02/18 职场文书
家长寄语大全
2014/04/02 职场文书
死者家属慰问信
2015/03/24 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
小程序后台PHP版本部署运行 LNMP+WNMP
2021/04/01 Servers
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL