0819_guigu-utils
Version:
尚硅谷大前端自定义工具函数库
22 lines (19 loc) • 568 B
JavaScript
/*
实现函数对象的call()
aUtils.call(fn,obj,2,3)
*/
export function call(fn, obj, ...arsg) {
//this是window而不是obj]
//如果obj是null或者undefined,this是window
if (obj === undefined || obj === null) {
obj = window
}
//1.给obj添加一个临时的方法属性,属性值就是fn
obj.tempFn = fn
//2.通过obj调用新添加的方法
const result = obj.tempFn(...arsg)
//3.删除添加的方法属性
delete obj.tempFn
//4.返回函数执行的返回值
return result
}