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 相关文章推荐
开发 Internet Explorer 右键功能表(ContextMenu)
Jul 03 Javascript
跟我学习javascript的undefined与null
Nov 17 Javascript
jQuery插件datatables使用教程
Apr 21 Javascript
jquery实现全选功能效果的实现代码
May 05 Javascript
详解JS-- 浮点数运算处理
Nov 28 Javascript
AngularJS之自定义服务详解(factory、service、provider)
Apr 14 Javascript
js图片上传的封装代码
Aug 01 Javascript
微信小程序实现根据字母选择城市功能
Aug 16 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
Sep 04 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
May 07 Javascript
JavaScript实现更换背景图片
Oct 18 Javascript
vue实现扫码功能
Jan 17 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操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
来自qq的javascript面试题
2010/07/24 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
python 调用HBase的简单实例
2016/12/18 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
Python异常处理操作实例详解
2018/08/28 Python
Python实现网站表单提交和模板
2019/01/15 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
Python文件路径名的操作方法
2019/10/30 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
电话销售经理岗位职责
2013/12/07 职场文书
体育运动口号
2014/06/09 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
2015年计划生育责任书
2015/05/08 职场文书
社区安全温馨提示语
2015/07/14 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js