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。
以上就是javascript判断变量值是否为空?的详细内容,更多请关注html中文网其它相关文章!