Function.prototype.myCall = function (...args) { let obj = args[0] const params = args.slice(1) obj = { ...obj, fn: this } return obj.fn(params) }