//比较两个对象是否相等
var isObjectEquals = function(left, right){
if(left == right){
return true;
}
if(typeof(right)=="undefined"||right==null||typeof(right)!="object"){
return false;
}
var leftLen = 0;
var rightLen = 0;
for(var key in left) {
leftLen++;
}
for(var key in right) {
rightLen++;
}
if(leftLen != rightLen){
return false;
}
if(right.constructor == left.constructor){
for(var key in left){
if(typeof(left[key])=="object") {
if(!isObjectEquals(left[key], right[key])){
return false;
}
}
else if(typeof(left[key])=="function"){
if(!isObjectEquals(left[key].toString(), right[key].toString())){
return false;
}
}
else if(left[key]!=right[key]){
return false;
}
}
return true;
}
return false;
};