JavaScript判断变量是否为空的自定义函数分享

 更新时间:2015年01月31日 09:30:55   投稿:junjie  
这篇文章主要介绍了JavaScript判断变量是否为空的自定义函数分享,本文直接给出实现代码,需要的朋友可以参考下

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

相关文章

  • 判断颜色是否合法的正则表达式(详解)

    判断颜色是否合法的正则表达式(详解)

    下面小编就为大家带来一篇判断颜色是否合法的正则表达式(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 前端常见问答之flat()和flatMap()有哪些不同

    前端常见问答之flat()和flatMap()有哪些不同

    这篇文章主要介绍了JavaScript中的flat()和flatMap()方法,解释了它们的功能、使用方法和应用场景,flat()用于将嵌套数组压平,而flatMap()则是在压平的同时对每个元素进行转换,需要的朋友可以参考下
    2024-11-11
  • JS常用插件之Swiper插件实现轮播图功能实例

    JS常用插件之Swiper插件实现轮播图功能实例

    项目中会多次使用到轮播图组件,下面这篇文章主要给大家介绍了关于JS常用插件之Swiper插件实现轮播图功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • 鼠标移到图片上变大显示而不是放大镜效果

    鼠标移到图片上变大显示而不是放大镜效果

    这篇文章主要介绍了通过js实现的,当鼠标移到图片上变大显示而不是放大镜效果,需要的朋友可以参考下
    2014-06-06
  • 200行代码实现blockchain 区块链实例详解

    200行代码实现blockchain 区块链实例详解

    这篇文章主要介绍了200行代码实现blockchain 区块链的相关知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-03-03
  • 深入浅析es6-module的语法

    深入浅析es6-module的语法

    ES6引入了模块化概念,提供命名导出、默认导出、导出重命名和导出合并功能,支持动态导入,模块默认严格模式,避免全局污染,支持循环依赖,代码更可维护,本文介绍es6-module的语法知识,感兴趣的朋友一起看看吧
    2025-02-02
  • 微信小程序连接数据库与WXS的使用方法详细介绍

    微信小程序连接数据库与WXS的使用方法详细介绍

    这篇文章主要介绍了微信小程序连接数据库与WXS的使用方法,微信小程序是腾讯内部的产品,不能直接打开一个外部的链接,但是腾讯为开发者封装好了API用来请求一个网站的内容或者服务,感兴趣的同学可以参考下
    2023-12-12
  • JavaScript多图片上传案例

    JavaScript多图片上传案例

    JS上传多图片例子,为了更人性化,不要固定初始化时的个数,可以通过由用户决定上传图片的个数,即是动态地创建上传图片文框和按钮的个数,感兴趣的小伙伴们可以参考一下
    2015-09-09
  • JavaScript模拟重力状态下抛物运动的方法

    JavaScript模拟重力状态下抛物运动的方法

    这篇文章主要介绍了JavaScript模拟重力状态下抛物运动的方法,实例分析了javascript操作dom元素模拟运动的方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • JavaScript中的几种继承方法示例

    JavaScript中的几种继承方法示例

    这篇文章主要给大家介绍了关于JavaScript中的几种继承方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论