用javascript判断一个对象是否为空,这个对象已经定义过了,是个空对象,比如:var obj = {};
我们想要判断它是否为用if(obj){/xxx}这样的方式是有问题的,有些资料说要在if里面加一个!符号,obj就自动转换成bool类型了,如果对象为空的话,会转成false,反之会转成true。其实这种方法也是有问题的,有某些情况下判断也会不准确。
正确的用JS判断对象是否为空的方法是用jquery的isEmptyObject来判断,因此我们要判断一个js对象是否为空应该这样判断:
if($.isEmptyObject(obj)) { /xx }
isEmptyObject其实是遍历对象的属性名来进行判断的:
isEmptyObject: function( obj ) { for ( var name in obj ) { return false; } return true; }