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和CSS速查手册
Aug 20 Javascript
DOM_window对象属性之--clipboardData对象操作代码
Feb 03 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
Jan 15 Javascript
公共js在页面底部加载的注意事项介绍
Jul 18 Javascript
JavaScript作用域链使用介绍
Aug 29 Javascript
jquery实现显示已选用户
Jul 21 Javascript
基于JQuery打造无缝滚动新闻步骤详解
Mar 31 Javascript
JS 调试中常见的报错问题解决方法
May 20 Javascript
详解关于vue2.0工程发布上线操作步骤
Sep 27 Javascript
解决在Vue中使用axios用form表单出现的问题
Oct 30 Javascript
手把手带你入门微信小程序新框架Kbone的使用
Feb 25 Javascript
如何在postman中添加cookie信息步骤解析
Jun 30 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
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
基于thinkPHP实现的微信自定义分享功能示例
2016/09/23 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
php socket通信简单实现
2016/11/18 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
JsRender实用入门教程
2014/10/31 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
p5.js临摹动态图形的方法
2019/10/23 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
Javascript如何发送一个Ajax请求
2015/01/26 面试题
公司出纳岗位职责
2013/12/07 职场文书
出纳担保书范文
2014/04/02 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
2016年小学党支部创先争优活动总结
2016/04/05 职场文书
2016年安全月活动总结
2016/04/06 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers