Function.prototype.myCall = function (context) {
if (typeof this !== 'function') {
throw new TypeError('Function.prototype.myCall - what is trying to be bound is not callable')
}
context = context || window
context._fn = this
var args = Array.prototype.slice.call(arguments, 1)
var result = context._fn(...args)
delete context._fn
return result
}
function fn1(age, car) {
console.log(this.name)
console.log(age)
console.log(car)
}
const obj = {
name: '雪月',
}
fn1.myCall(obj, 18, '保时捷')