apply函数的封装实现
/*
自定义函数对象的apply方法
*/
export function apply(fn, obj, args) {
console.log('apply()')
// 如果obj是undefined/null, this指定为全局对象
if (obj===undefined || obj===null) {
// return fn(...args)
obj = globalThis; // 全局对象
}
// 给obj添加一个临时方法, 方法指向的函数就是fn
obj.tempFn = fn
// 通过obj来调用这个方法 ==> 也就会执行fn函数 ==> 此时fn中的this肯定为obj
const result = obj.tempFn(...args)
// 删除obj上的临时方法
delete obj.tempFn
// 返回fn执行的结果
return result
}
全栈爱好者,欢迎交流学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏