Open jirengu opened 7 years ago
@jirengu
老师 你好,第二个题目好像有点念不通,“用 ES5的方法如何来 重新函数 这个函数 ” , 不知道是不是表述有点问题。 ^_^
function isEmptyObject(obj){
if( arguments[0] && typeof arguments[0] === "object" ) {
for ( var key in arguments[0] ) {
return true
}
return false
}
throw "obj need to be an object"
}
@RookieDay 已改
ES6:
function isEmptyObject(obj){
return Object.keys(obj).length === 0 && obj.constructor === Object
}
Pre-ECMA 5:
function isEmptyObject(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return JSON.stringify(obj) === JSON.stringify({});
}
jQuery:
jQuery.isEmptyObject({});
function isEmptyObject(obj){ var a = {} return JSON.stringify(obj) === JSON.stringify(a) }
@upfain 需要用hasOwnProperty来检测是本地属性还是原型链上的属性
function isEmptyObject(obj) { if(Object.keys(obj).length){ return false }else{ return true } }
function isEmptyObject(obj) { return Object.keys(obj).length ? true : false }
isEmptyObject
,判断一个对象是不是空对象