ohne Bearbeitung des Objekts?
Wenn Sie meinen, ohne das Objekt zu ändern, können Sie nicht. Wenn Sie meinen, ohne den Quellcode des Objekts zu bearbeiten, können Sie Funktionalität am Anfang und/oder am Ende hinzufügen, aber nicht in der Mitte.
(function() {
var original = obj.l;
obj.l = function() {
var retval;
// You can do something here
// Call the original
retVal = original.apply(this, arguments);
// You can do something here
// Return result
return retVal;
};
})();
Die Scoping-Funktion ist nur zu vermeiden original
, die einem anderen Code zu machen.
Dieses Beispiel des Aufrufs des Originals wird es mit der gleichen this
und Liste der Argumente aufrufen, mit denen Ihr Wrapper aufgerufen wurde. Sie können natürlich auch andere Argumente übergeben, vielleicht über Function#call
anstelle von Function#apply
.
Was meinst du mit "Bearbeitung der Obj"? – Bergi
Sie sollten sich die aspektorientierte Programmierung ansehen. – Bergi