×

JS判断变量值为空

作者:andy0012020.04.10来源:Web前端之家浏览:7499评论:0
关键词:js变量

JavaScript本身没有判断一个变量值是不是空值的函数,因为变量有可能是string,object,number,boolean等类型,类型不同,判断方法也不同。

所以在判断是否为空前,应预判、确定数据的类型,如果期望类型不清晰,则可能会导致错误的判断或考虑情况不周全。

确定数据类型后,然后根据不同的数据类型使用不同的方法来判断,例

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

空值有:undefined、 null、 ''、 NaN、false、0、[]、{} 、空白字符串,这些都返回true。

您的支持是我们创作的动力!
温馨提示:本文作者系 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/jsu8808203480238408.html

网友评论文明上网理性发言 已有0人参与

发表评论: