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 相关文章推荐
获取下拉列表框的值是数组,split,$.inArray示例
Nov 13 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
Apr 04 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
Jun 09 Javascript
JavaScript实现的一个日期格式化函数分享
Dec 06 Javascript
jQuery中:input选择器用法实例
Jan 03 Javascript
Bootstrap基本样式学习笔记之图片(6)
Dec 07 Javascript
jQuery实现两列等高并自适应高度
Dec 22 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
websocket+node.js实现实时聊天系统问题咨询
May 17 Javascript
Vue 拦截器对token过期处理方法
Jan 23 Javascript
vue+animation实现翻页动画
Jun 29 Javascript
vscode中Vue别名路径提示的实现
Jul 31 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下对字符串的递增运算代码
2010/08/21 PHP
php中防止伪造跨站请求的小招式
2011/09/02 PHP
openflashchart 2.0 简单案例php版
2012/05/21 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
php session的锁和并发
2016/01/22 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
javascript中的作用域scope介绍
2010/12/28 Javascript
获取body标签的两种方法
2011/10/13 Javascript
javascript数组的使用
2013/03/28 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python实现与redis交互操作详解
2020/04/21 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
意大利单身交友网站:Meetic
2020/07/12 全球购物
Ruby如何实现动态方法调用
2012/11/18 面试题
英文版银行求职信
2013/10/09 职场文书
不假外出检讨书
2014/01/27 职场文书
万能检讨书
2015/01/27 职场文书
社会实践活动报告
2015/02/05 职场文书
离婚代理词范文
2015/05/23 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL