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 相关文章推荐
JavaScript SetInterval与setTimeout使用方法详解
Nov 15 Javascript
jQuery插件Validate实现自定义校验结果样式
Jan 18 Javascript
学习Javascript闭包(Closure)知识
Aug 07 Javascript
Vue数据驱动模拟实现2
Jan 11 Javascript
Vue.js 2.0学习教程之从基础到组件详解
Apr 24 Javascript
jQuery实现base64前台加密解密功能详解
Aug 29 jQuery
JS加密插件CryptoJS实现AES加密操作示例
Aug 16 Javascript
微信小程序中遇到的iOS兼容性问题小结
Nov 14 Javascript
Electron vue的使用教程图文详解
Jul 05 Javascript
JavaScript RegExp 对象用法详解
Sep 24 Javascript
vue开发移动端底部导航条功能
Apr 08 Javascript
JavaScript严格模式不支持八进制的问题讲解
Nov 07 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
php实现删除空目录的方法
2015/03/16 PHP
php获取图片信息的方法详解
2015/12/10 PHP
PHP封装的PDO数据库操作类实例
2017/06/21 PHP
DOM相关内容速查手册
2007/02/07 Javascript
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
JavaScript基本编码模式小结
2012/05/23 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
vue项目引入字体.ttf的方法
2018/09/28 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
Python中int()函数的用法浅析
2017/10/17 Python
python爬取淘宝商品销量信息
2018/11/16 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
基于FME使用Python过程图解
2020/05/13 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
招聘与培训专员岗位职责
2014/01/30 职场文书
企业催款函范本
2015/06/24 职场文书