function isEmpty(obj) {
try {
if (obj === null || obj === undefined) {
return true
}
// 判断参数是否是布尔、函数、日期、正则,是则返回false
if (typeof obj === 'boolean' || typeof obj === 'function' || obj instanceof Date || obj instanceof RegExp) {
return false
}
// 判断数字是否是NaN
if (typeof obj === 'number') {
return isNaN(obj)
}
// 判断参数是否是字符串,去空,如果长度为0则返回true
if (typeof obj === 'string') {
return !obj.trim().length
}
// 对象、数组判空
return !Object.keys(obj).length
} catch (e) {
return true
}
}
备注:map、set等暂未处理~