日期:2014-05-16  浏览次数:20337 次

如何判断一个空对象
var objjson = {"abc":{}};

var tmp = {};

请问如何比较 objjson.abc 与tmp相等。

------解决方案--------------------
JScript code

var isEmptyObject=function(v){
   if(Object.prototype.toString.apply(v)!=='[object Object]')return false;
   for(var p in v)if(v.hasOwnProperty(p))return false;
   return true
};
var a={},b={};
alert(a==b);//false,引用类型的数据等比较时比较的是引用的地址,a和b指向了两个不同的{},不像值类型数据
a=b={};
alert(a==b);//true,a和b指向同一个地址
alert(isEmptyObject(a));
a=new Date();
alert(isEmptyObject(a));
a=new Array();
alert(isEmptyObject(a));
a={a:'a'};
alert(isEmptyObject(a));