Changeset 17091 for lang/javascript/watch
- Timestamp:
- 08/05/08 12:12:24 (5 years ago)
- Files:
-
- 1 modified
-
lang/javascript/watch/watch.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/watch/watch.js
r17065 r17091 5 5 var getter = this.__lookupGetter__(prop), 6 6 setter = this.__lookupSetter__(prop), 7 oldval = this[prop]; 7 oldval = this[prop], 8 self = this; 8 9 if (!(prop in watched)) { 9 10 watched[prop] = { 10 11 setter: setter, 11 12 getter: getter, 13 self:self 12 14 }; 13 15 } 14 16 this.__defineSetter__(prop, 15 17 function(newval) { 16 var setter = watched[prop].setter; 17 return oldval = setter? 18 setter(handler(prop, oldval, newval)): 18 var setter = watched[prop].setter, 19 self = watched[prop].self; 20 return typeof setter == "function" ? 21 setter.call(self,handler(prop, oldval, newval)) : 19 22 handler(prop, oldval, newval); 20 23 }); 21 24 this.__defineGetter__(prop, 22 25 function() { 23 var getter = watched[prop].getter; 24 return getter? getter(): oldval; 26 var getter = watched[prop].getter, 27 self = watched[prop].self; 28 return typeof getter == "function" ? getter.call(self): oldval; 25 29 }); 26 30 } 27 31 Object.prototype.unwatch = function(prop, handler) { 28 var setter, 29 getter; 32 var setter, getter; 30 33 if (!(prop in watched)) return; 31 34 delete this[prop];
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)