在做表单页面的时候,想判断2个js对象,是不是所有完全相同。
这里是stackoverflow上的解决办法,在这里记录一下。
原文地址: http://stackoverflow.com/questions/1068834/object-comparison-in-javascript
Object.prototype.equals = function(x) { var p; for(p in this) { if(typeof(x[p])=='undefined') {return false;} } for(p in this) { if (this[p]) { switch(typeof(this[p])) { case 'object': if (!this[p].equals(x[p])) { return false; } break; case 'function': if (typeof(x[p])=='undefined' || (p != 'equals' && this[p].toString() != x[p].toString())) return false; break; default: if (this[p] != x[p]) { return false; } } } else { if (x[p]) return false; } } for(p in x) { if(typeof(this[p])=='undefined') {return false;} } return true; }