JavaScript Funktionen klonen & manipulieren

In Java Script ist es möglich Funktionen in eine Variable zu speichern und die Originale Funktion zu überschreiben. Dies ermöglicht es z.B. bei einem Videoplayer den Playbutton zu tracken. Es soll mit Optimizley (ein A/B Testing Werkzeug) eine Videoseite optimiert werden und eins der Ziele ist das Abspielen vom Video, kann einfach die Funktion des Video abspielen überschrieben werden.

Video Funktion klonen und manipulieren

Code

function playVideo(){
  // do some Stuff
  console.log("playing video " + arguments[0].video + " @time " + arguments[0].time);
}
playVideo({video: "Hello World", time: 1});

var playVideoClone = playVideo;

playVideo = function() {
  arguments[0].time = arguments[0].time + 1;
  playVideoClone(arguments[0]);
}

playVideo({video: "Hello World", time: 1});

Ergebnis

playing video Hello World @time 1
playing video Hello World @time 2

wallpaper-1019588
Die richtige Matratze für erholsamen Schlaf
wallpaper-1019588
Schreiben an der Algarve – Ein ungewöhnliches Weihnachtsgeschenk für sich selbst und für andere
wallpaper-1019588
Die niederländische Küste entdecken: ein entspannter Urlaub am Meer
wallpaper-1019588
Die schönsten Inseln in Vietnam – Inspiration für euren nächsten Urlaub
wallpaper-1019588
Azubis für Bayern und Deutschland: Mit System zur nachhaltigen Fachkräftegewinnung und lebensfreundlicher Personalpolitik