// 用變量保存可以加速對對象原型的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第二學期第五章答案