手写apply

简介: 手写apply

导语

apply使用




编辑

代码部分

Function.prototype.myApply = function (context, args) {
        //这里默认不传就是给window,也可以用es6给参数设置默认参数
        context = context || window
        args = args ? args : []
        //给context新增一个独一无二的属性以免覆盖原有属性
        const key = Symbol()
        context[key] = this
        //通过隐式绑定的方式调用函数
        const result = context[key](...args)
        //删除添加的属性
        delete context[key]
        //返回函数调用的返回值
        return result
      }
      var name = 'geyao'
      var fangfang = {
        name: 'fangfang',
        fang: function () {
          console.log(this.name)
        },
        fun: function () {
                    console.log(this,"this")
          setTimeout(
            function () {
              this.fang()
            }.myApply(this),
            100
          )
        },
      }
      fangfang.fun() //fangfang
相关文章
将一个正整数分解质因数
【1月更文挑战第14天】将一个正整数分解质因数。
94 0
|
负载均衡 5G 网络性能优化
深入解析LTE(长期演进技术)的基本架构及其关键组件
深入解析LTE(长期演进技术)的基本架构及其关键组件
1394 2
|
机器学习/深度学习 数据采集 TensorFlow
从零到精通:TensorFlow与卷积神经网络(CNN)助你成为图像识别高手的终极指南——深入浅出教你搭建首个猫狗分类器,附带实战代码与训练技巧揭秘
【8月更文挑战第31天】本文通过杂文形式介绍了如何利用 TensorFlow 和卷积神经网络(CNN)构建图像识别系统,详细演示了从数据准备、模型构建到训练与评估的全过程。通过具体示例代码,展示了使用 Keras API 训练猫狗分类器的步骤,旨在帮助读者掌握图像识别的核心技术。此外,还探讨了图像识别在物体检测、语义分割等领域的广泛应用前景。
325 1
|
iOS开发 MacOS
macOS开机自启动执行脚本
【8月更文挑战第23天】在macOS上设置开机自动执行脚本可通过三种方式:一是利用“系统偏好设置”中的“用户与群组”功能直接添加脚本或应用;二是通过创建`.plist`文件并放置于`LaunchAgents`目录,这种方式能更精细地控制脚本运行;三是使用cron任务,在系统启动时执行脚本,但该方法不太适用于图形界面程序且可能受限于启动顺序。每种方法各有优缺点,需根据实际情况选择。
2560 0
|
存储 机器学习/深度学习 算法
【博士每天一篇文献-综述】基于脑启发的连续学习算法有哪些?附思维导图
这篇博客文章总结了连续学习的分类,包括经典方法(重放、正则化和稀疏化方法)和脑启发方法(突触启发、双系统启发、睡眠启发和模块化启发方法),并讨论了它们在解决灾难性遗忘问题上的优势和局限性。
309 2
|
存储 安全 前端开发
几行代码搞定 Spring Cloud OAuth2 授权码模式3个页面定制
几行代码搞定 Spring Cloud OAuth2 授权码模式3个页面定制
|
JavaScript 前端开发 Java
信息打点-JS架构&框架识别&泄漏提取&API接口枚举&FUZZ&插件项目
信息打点-JS架构&框架识别&泄漏提取&API接口枚举&FUZZ&插件项目
219 0
|
SQL 关系型数据库 MySQL
|
存储 运维 安全
架构师长文 | 七千字详解阿里云CIPU技术架构
架构师长文 | 七千字详解阿里云CIPU技术架构
2864 0
|
Java 数据库连接 数据库
【Spring AOP + 自定义注解 + 动态数据源 实现主从库切换&读写分离】—— 案例实战(中)
【Spring AOP + 自定义注解 + 动态数据源 实现主从库切换&读写分离】—— 案例实战(中)
653 0