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
[Manga] Blood on the tracks [15]
wallpaper-1019588
Mit Feder und Fado: Schreib-Retreat an der Algarve mit Bestseller-Autorin Bettina Haskamp
wallpaper-1019588
Android 9 Download für Tablets: So bringst du dein Gerät auf den neuesten Stand!
wallpaper-1019588
Portugal überzeugt als queeres Reiseziel