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 相关文章推荐
关于hashchangebroker和statehashable的补充文档
Aug 08 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
Mar 14 Javascript
基于jQuery实现表单提交验证
Nov 24 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
Jan 28 Javascript
原生js实现自由拖拽弹窗代码demo
Jun 29 Javascript
js实现定时进度条完成后切换图片
Jan 04 Javascript
Webpack性能优化 DLL 用法详解
Aug 10 Javascript
js链表操作(实例讲解)
Aug 29 Javascript
SeaJS中use函数用法实例分析
Oct 10 Javascript
详解vue.js下引入百度地图jsApi的两种方法
Jul 27 Javascript
Vue实现图书管理案例
Jan 20 Vue.js
关于element的表单组件整理笔记
Feb 05 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
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
用于table内容排序
2006/07/21 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
利用yarn实现一个webpack+react种子
2016/10/25 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
3分钟快速搭建nodejs本地服务器方法运行测试html/js
2017/04/01 NodeJs
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
pygame播放音乐的方法
2015/05/19 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
商务英语广告词大全
2014/03/18 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
2014年人事科工作总结
2014/11/19 职场文书
党员理论学习心得体会
2016/01/21 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python