由于对于一个空对象{},其boolean值也是真,所以不能简单的用boolean来判断:
jQuery的源码里有一个判断空对象的方法
function isEmptyObject(a) { var b; for (b in a) { return !1; } return !0 }
这个方法的思路是:
对象有键值对,则说明对象非空。所以遍历该对象,只要能遍历到1个键值对,则返回false,否则返回true;
现在来建两个对象试下:
var myEmptyO = {}; var myO = { k:233, f:666 }; // console.log(isEmptyObject(myEmptyO));//true console.log(isEmptyObject(myO));//false
如果已经引用了jquery,要直接用该函数,可以直接写:
$.isEmptyObject()
该方法接收一个参数:object,返回值为Boolean