Function.prototype.myBind = function (context,...args){
if(typeof this!=='function'){
throw new TypeError('Error')
}
const _this = this;
return function F(...args2){
if(this instanceof F){
return new _this(args,...args2)
}
return _this.apply(context,[...args,...args2])
}
}
function greet(greeting,age) {
console.log(`${greeting} ${age}, ${this.name}`);
}
const person = { name: 'Alice' };
// 使用 myCall 来调用 greet 函数,并指定上下文对象为 person
const age = greet.myBind(person, 'Hello');
age(12)