A függvény hívás helyének scopeja
Rövid leszek. :)
Meg lehet valahogy oldani, hogy a when hívásánál ne kelljen második paraméterben átadni a this-t? Lehet ezt tudni a függvényen belül, hogy mi volt az érvényes scope a függvény hívásakor? Próbálkoztam arguments.callee.caller féle trükkökkel, de egyik se működött. Ez így szépen megy, csak nem tetszik... :)Online verzió: http://wiktor.hu/dev/20070622/scope/
Előre is köszi, ha van ötlet!
■ Meg lehet valahogy oldani, hogy a when hívásánál ne kelljen második paraméterben átadni a this-t? Lehet ezt tudni a függvényen belül, hogy mi volt az érvényes scope a függvény hívásakor? Próbálkoztam arguments.callee.caller féle trükkökkel, de egyik se működött. Ez így szépen megy, csak nem tetszik... :)
Function.prototype.when = function(expression, scope) {
if (expression) {
return this.apply(scope);
}
}
var FooBar = {
init: function() {
this.number = 5;
this.number2 = this.addFive.when(this.number > 1, this);
console.log(this.number2);
},
addFive: function() {
console.log("Add five to " + this.number);
return this.number + 5;
}
}
FooBar.init();
Előre is köszi, ha van ötlet!
Szerintem
nekem is úgy tűnik...
Objektumba csomagolás