JSFiddle - React, Tailwind, and code Playground
JavaScript
alert("executing first version");
var myObject = {
myIntProp: 1,
myFunc: function(value) {
alert(value + 1);
}
};
myObject.myFunc(2);
var tmp = myObject.myFunc;
myObject.myFunc = function(value) {
alert(value - 1);
};
myObject.myFunc(2);
myObject.myFunc = tmp;
myObject.myFunc(2);
alert("executing second version");
function FunctionSwapper(target, newFunction) {
var old = target;
target = newFunction;
this.Restore = function() {
target = old;
}
};
var myObject = {
myIntProp: 1,
myFunc: function(value) {
alert(value + 1);
}
};
myObject.myFunc(2);
var swapp = new FunctionSwapper(myObject.myFunc, function(value) {
alert(value - 1);
});
myObject.myFunc(2);
swapp.Restore();
myObject.myFunc(2);