JavaScript Funktionen klonen & manipulieren

Erstellt am 9. August 2017 von Looplogic

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