js 比较对象相等
来源:互联网 发布:平板电脑装windows系统 编辑:程序博客网 时间:2024/06/05 07:34
//比较两个对象是否相等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; };