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 相关文章推荐
js获取图片长和宽度的代码
Nov 24 Javascript
javascript dom 基本操作小结
Apr 11 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
Jun 19 Javascript
在Google 地图上实现做的标记相连接
Jan 05 Javascript
js点击按钮实现带遮罩层的弹出视频效果
Dec 19 Javascript
jQuery弹出遮罩层效果完整示例
Sep 13 Javascript
实例详解JSON取值(key是中文或者数字)方式
Aug 24 Javascript
VUE2实现事件驱动弹窗示例
Oct 21 Javascript
小程序实现单选多选功能
Nov 04 Javascript
eslint+prettier统一代码风格的实现方法
Jul 22 Javascript
vue抽出组件并传值实例
Jul 31 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
php多个字符串替换成同一个的解决方法
2013/06/18 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
php生成年月日下载列表的方法
2015/04/24 PHP
PHP两种实现无级递归分类的方法
2017/03/02 PHP
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
jQuery ui 1.7更新小结
2009/08/15 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
红米手机抢购的js代码
2014/03/10 Javascript
对比分析json及XML
2014/11/28 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
JS中双击和单击事件冲突的解决方法
2018/04/09 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
python实现问号表达式(?)的方法
2013/11/27 Python
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Python内置函数 next的具体使用方法
2017/11/24 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
代码中finally中的代码会不会执行
2012/02/06 面试题
监理员的岗位职责
2013/11/13 职场文书
称象教学反思
2014/02/03 职场文书
财产公证书样本
2014/04/04 职场文书
撤诉书怎么写
2015/05/19 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android
Redis实现一个账号只能登录一个设备
2022/04/19 Redis