JSFiddle - React, Tailwind, and code Playground

by kmendes

JavaScript

Object.prototype.later = function(delay, functionToExecute){
    if(isNaN(delay))
        throw "Invalid argument for delay";
    if(typeof this[functionToExecute] != "function")
        throw "Invalid argument for function to execute";
    var args = [];
    for(i=2;i++;i<arguments.lenght){
        args.push(arguments[i]);
    }
    var run = function(obj, functionToExecute, args){
        obj[functionToExecute].apply(object,args);
    };
    window.setTimeout(run(this, functionToExecute, arguments),delay);
};


var some_obj = {
  sayHi: function(numIter) {
    for(var i=0; i < numIter; i++) {
      console.log("Hiya");
    }
  }
};

some_obj.later(10, 'sayHi', 5);