Function.prototype.myApply = function (arg) { arg.fn = this; arg.fn(); delete arg.fn; }; const rose = { name: 'rose', greet: function() { console.log(`Hello, I am ${this.name}`) } }; const jack = { name: 'jack' } rose.greet(); rose.greet.myApply(jack);