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 相关文章推荐
jQuery.getScript加载同域JS的代码
Feb 13 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
Apr 16 Javascript
js如何判断用户是否是用微信浏览器
Jun 05 Javascript
详解js跨域原理以及2种解决方案
Dec 09 Javascript
用headjs来管理和加载js 提高网站加载速度
Nov 29 Javascript
vue-router 导航钩子的具体使用方法
Aug 31 Javascript
vue多种弹框的弹出形式的示例代码
Sep 18 Javascript
layui的table单击行勾选checkbox功能方法
Aug 14 Javascript
深入理解react 组件类型及使用场景
Mar 07 Javascript
浅谈JavaScript面向对象--继承
Mar 20 Javascript
微信小程序如何自定义table组件
Jun 29 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
Nov 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
PHP配置心得包含MYSQL5乱码解决
2006/11/20 PHP
解析PHP自带的进位制之间的转换函数
2013/06/08 PHP
php实现加减法验证码代码
2014/02/14 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
JS查看对象功能代码
2008/04/25 Javascript
js自定义事件代码说明
2011/01/31 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
javascript针对不确定函数的执行方法
2015/12/16 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
vue脚手架vue-cli的学习使用教程
2017/06/06 Javascript
Javascript实现base64的加密解密方法示例
2017/06/27 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
vue加载自定义的js文件方法
2018/03/13 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
python ElementTree 基本读操作示例
2009/04/09 Python
简述Python中的面向对象编程的概念
2015/04/27 Python
python使用socket连接远程服务器的方法
2015/04/29 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
为有想象力的人提供的生活方式商店:Firebox
2018/06/04 全球购物
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
营销与策划专业毕业生求职信
2013/11/01 职场文书
户籍证明格式
2014/09/15 职场文书