// whether the value of two comparison objects a return value exactly equal to true / to false isObjectValueEqual (a, b) { // get objects a and b attribute name var aProps = Object.getOwnPropertyNames (a); var bProps Object.getOwnPropertyNames = ( B); // attribute name length is determined whether the same iF (aProps.length = bProps.length)! { return to false; } // remove circulating attribute name, attribute value and then determines whether or not consistent for (var i = 0; i < aProps.length; I ++) { var = propName aProps [I]; IF (A [propName] == B [propName]) {! return to false; } } return to true; }