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 replace(rgExp,fn)正则替换的用法
Mar 04 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
Dec 19 Javascript
jquery高效反选具体实现
May 05 Javascript
JS图片无缝滚动(简单利于使用)
Jun 17 Javascript
javascript的parseFloat()方法精度问题探讨
Nov 26 Javascript
JS可以控制样式的名称写法一览
Jan 16 Javascript
sogou地图API用法实例教程
Sep 11 Javascript
JavaScript中的操作符==与===介绍
Dec 31 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
Jun 16 Javascript
vue项目中导入swiper插件的方法
Jan 30 Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
Sep 09 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
Laravel事件监听器用法实例分析
2019/03/12 PHP
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
jQuery下拉美化搜索表单效果代码分享
2015/08/25 Javascript
js实现页面刷新滚动条位置不变
2016/11/27 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
微信小程序canvas分享海报功能
2019/10/31 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
2020/04/10 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
Python自动扫雷实现方法
2015/07/25 Python
详解Python编程中time模块的使用
2015/11/20 Python
轻松实现python搭建微信公众平台
2016/02/16 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
2017/12/09 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
详解pandas映射与数据转换
2021/01/22 Python
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
大二自我鉴定
2014/01/31 职场文书
岗位职责的构建方法
2014/02/01 职场文书
2015年纪念“卢沟桥事变”78周年活动方案
2015/05/06 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android