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
Mononoke: Neuigkeiten zum Cast des zweiten Films + Trailer + Visual
wallpaper-1019588
Detektiv Conan – 28. Anime-Film angekündigt + Visual
wallpaper-1019588
Yowayowa Sensei – Manga erhält Anime-Adaption
wallpaper-1019588
Attack on Titan VR: Unbreakable – Videospiel erhält „Complete Edition“ im Dezember