// 用变量保存可以加速对对象原型的hasOwnProperty的访问。
var hasOwnProperty = Object.prototype.hasOwnProperty;
function isEmpty(obj) {
// 本身为空直接返回true
if (obj == null) return true;
// 然后可以根据长度判断,在低版本的ie阅读器中没法这样判断。
if (obj.length > 0) return false;
if (obj.length === 0) return true;
//最后通过属性长度判断。
for (var key in obj) {
if (hasOwnProperty.call(obj, key)) return false;
}
return true;
}
例子:
isEmpty(""), // true
isEmpty([]), // true
isEmpty({}), // true
isEmpty({length: 0, custom_property: []}), // true
isEmpty("Hello"), // false
isEmpty([1,2,3]), // false
isEmpty({test: 1}), // false
isEmpty({length: 3, custom_property: [1,2,3]}) // false
上一篇 我的Android案例―签到日历
下一篇 思科CCNA第二学期第五章答案