当前位置: 首页 > news >正文

自定义call方法和apply方法

 自定义call方法

    //Fn:要执行的函数,obj:函数中this的指向,args:剩余参数function call(Fn, obj, ...args) {//判断if (obj === undefined || obj === null) {obj = globalThis; //全局对象 globalThis:es11新增的特性,用来指向全局对象}//为 obj 添加临时的方法//因为temp和Fn一样,所以通过obj.temp()执行时,函数中的this指向objobj.temp = Fn;//通过obj.temp()调用函数,所以this指向obj对象let result = obj.temp(...args);//在删除delete obj.temp;//返回执行的结果return result;}

自定义apply方法

      function apply(Fn, obj, ...args) {//如果obj为undefined或者null,obj对象赋值为globalThisif (obj === undefined || obj === null) {obj = globalThis;}//为obj添加临时方法obj.item = Fn;//执行方法let reulst = obj.itemargs);//删除属性delete obj.item;//返回结果return result;}

http://www.lryc.cn/news/485189.html

相关文章:

  • typescript中为js文件提供类型声明
  • ETH挖矿显卡超频信息汇总
  • 调用 Xinference OpenAI接口时报错 Model not found in the model list, uid
  • 一文说清:C静态库与动态库的区别
  • Mysql 5.7.6以上版本怎样关闭GTID(由GTID改为基于file,position方式)
  • MATLAB常见数学运算函数
  • 设置Fusion360 - Prusa slicer -octoprint 一键打印流程
  • IO流实用案例:用字节流--输入流(Inpustream)、输出流(OutputStream)写一个拷贝图片的案例--超简单!
  • Tensorflow基本概念
  • 游戏引擎学习第九天
  • CondaError: Run ‘conda init‘ before ‘conda activate‘解决办法
  • 如何提高谷歌浏览器的稳定性
  • Spring基础之——控制反转(IOC)、依赖注入(DI)与切面编程(AOP)概念详解(适合小白,初学者必看)
  • java排序算法汇总
  • 游戏引擎中LOD渲染技术
  • 【MacOS开发环境配置与应用开发--详细教程】
  • 【回溯法】——组合总数
  • JavaScript 自动化软件:AutoX.js
  • 探索Scala编程:图书管理系统实战
  • Java之遍历List集合安全地删除元素
  • ceph的集群管理
  • STM32 设计的较为复杂的物联网项目,包括智能家居控制系统,涵盖了硬件和软件的详细设计。
  • Kettle配置数据源错误“Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found”解决记录
  • 二分搜索的三种方法
  • 使用python编写工具:快速生成chrome插件相关文件结构
  • 内存、显存和GPU在Transformer架构中承担什么计算任务
  • 【计算机网络】TCP协议特点3
  • 移植LVGL8.2以及移植过程的理解
  • 动态规划-背包问题——1049.最后一块石头的重量II
  • 【C++学习(37)】并发性模式:如生产者-消费者、读写锁等。 架构模式:如MVC、MVVM等。属于23 种设计模式吗? RAII 的关系?