diff options
Diffstat (limited to 'src/Angular.js')
| -rw-r--r-- | src/Angular.js | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/Angular.js b/src/Angular.js index 21b3ef07..a7b3b98c 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -620,23 +620,18 @@ function equals(o1, o2) { } else { if (isScope(o1) || isScope(o2) || isWindow(o1) || isWindow(o2)) return false; keySet = {}; - length = 0; for(key in o1) { - if (key.charAt(0) === '$') continue; - - if (!isFunction(o1[key]) && !equals(o1[key], o2[key])) return false; - - length++; + if (key.charAt(0) === '$' || isFunction(o1[key])) continue; + if (!equals(o1[key], o2[key])) return false; keySet[key] = true; } for(key in o2) { - if (key.charAt(0) === '$') { - continue; - } - if (!keySet[key] && !isFunction(o2[key])) return false; - length--; + if (!keySet[key] && + key.charAt(0) !== '$' && + o2[key] !== undefined && + !isFunction(o2[key])) return false; } - return length === 0; + return true; } } } |
