diff options
Diffstat (limited to 'src/Angular.js')
| -rw-r--r-- | src/Angular.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/Angular.js b/src/Angular.js index 205b91e3..7d6f8502 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -760,6 +760,39 @@ function copy(source, destination){ return destination; } + +/** + * @workInProgress + * @ngdoc function + * @name angular.Object.equals + * @function + * + * @description + * Determines if two objects or value are equivalent. + * + * To be equivalent, they must pass `==` comparison or be of the same type and have all their + * properties pass `==` comparison. + * + * Supports values types, arrays and objects. + * + * For objects `function` properties and properties that start with `$` are not considered during + * comparisons. + * + * @param {*} o1 Object or value to compare. + * @param {*} o2 Object or value to compare. + * @returns {boolean} True if arguments are equal. + * + * @example + Salutation: <input type="text" name="master.salutation" value="Hello" /><br/> + Name: <input type="text" name="master.name" value="world"/><br/> + <button ng:click="form = master.$copy()">copy</button> + <hr/> + + Master is <span ng:hide="master.$equals(form)">NOT</span> same as form. + + <pre>master={{master}}</pre> + <pre>form={{form}}</pre> + */ function equals(o1, o2) { if (o1 == o2) return true; var t1 = typeof o1, t2 = typeof o2, length, key, keySet; |
