gruss Gast, hallo molily,
Gibt es vielleicht eine Kurzform in der Art
window.onload = window.onload + ini_google();
»»
Das ist eine klassische Operation der funktionalen Programmierung, aber in JavaScript
gibt es dafür leider keine einfache Umsetzung. Das ginge funktional mit Closures.
aus diesem Grund wäre es hilfreich, wenn in einer der nächsten JavaScript Versionen
Function.prototype.before
,
Function.prototype.after
sowie
Function.prototype.around
standardmäßig Einzug halten würden. Als Vorbild sei Function.prototype.bind
genannt, eine Methode, die andere Methoden modifiziert - ein "Method Modifier".
gegeben seien die beiden beispielhaften, auf Typprüfung verzichtenden Implementierungen ...
Function.prototype.before = function (behaviorBefore, target) {
var proceedAfter = this;
return function () {
var args = arguments;
behaviorBefore.apply(target, args);
return proceedAfter.apply(target, args);
};
};
Function.prototype.after = function (behaviorAfter, target) {
var proceedBefore = this;
return function () {
var args = arguments;
proceedBefore.apply(target, args);
return behaviorAfter.apply(target, args);
};
};
Gibt es vielleicht eine Kurzform in der Art
window.onload = window.onload + ini_google();
... eine Änderung des "onload" Händlers sähe dann folgendermaßen aus ...
window.onload = window.onload.after(ini_google);
... und soll der neu hinzugekommene Code vor der
bisherigen Funtionalität ausgeführt werden - dann so ...
window.onload = window.onload.before(ini_google);
so long - peterS. - pseliger@gmx.net
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]