Function.prototype.myApply=function(context,args=[]){
//1.判断是否传入绑定的this,若没传则指向window,若不是对象转换为对象
context = context?Object(context):window
//2.对象中的f代表函数fn {...,f:fn}
context.f=this
//3.函数隐式调用
let res = context.f(...args)
//4.删除对象中的函数
delete context.f
//5.返回值
return res
}
fn.myApply(obj,[1,2])
手写apply
最新推荐文章于 2024-09-10 09:55:59 发布