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 相关文章推荐
OfflineSave离线保存代码再次发布使用说明
May 23 Javascript
Js 获取当前日期时间及其它操作实现代码
Mar 04 Javascript
Prototype Function对象 学习
Jul 12 Javascript
JavaScript中出现乱码的处理心得
Dec 24 Javascript
JS中关于事件处理函数名后面是否带括号的问题
Nov 16 Javascript
MvcPager分页控件 适用于Bootstrap
Jun 03 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
Jun 09 Javascript
JavaScript之promise_动力节点Java学院整理
Jul 03 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
Feb 05 Javascript
vue实现固定位置显示功能
May 30 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
Feb 15 Javascript
安装多版本Vue-CLI的实现方法
Mar 24 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解析字符串里所有URL地址的方法
2015/04/03 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
Javascript & DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
juqery 学习之三 选择器 简单 内容
2010/11/25 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
开源Web应用框架Django图文教程
2017/03/09 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
使用Python实现批量ping操作方法
2020/05/06 Python
python Paramiko使用示例
2020/09/21 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
人力资源总监工作说明
2014/03/03 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
个人主要事迹材料
2014/08/26 职场文书
党员四风自我剖析材料
2014/10/07 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python