Function.prototype.myCall=function(ctx,...args){
ctx=ctx===null||ctx===undefined?globalThis:Object(ctx)
var key=Symbol('temp');
Object.defineProperty(ctx,key,{
enumberable:false,
value:this,
});
var result=ctx[key](...args);
delete ctx.fn;
return result;
}
function method(a,b){
console.log(this,a,b);
return a+b;
}
method.myCall(1,2,3)
手写call 函数,不用bind,apply
最新推荐文章于 2024-07-24 11:09:48 发布