04 # 手写 apply

简介: 04 # 手写 apply

apply

apply 的作用跟 call 的作用是一样的,只不过传递的参数是以数组的形式

手写 apply

<script>
    Function.prototype.kaimoApply = function (content, args) {
        // 没有东西指向 window,将 content 包装成对象
        content = content ? Object(content) : window;
        // 执行 this() 改变不了 this 指向,需要赋值给属性
        content.f = this;
        let res = args ? content.f(...args) : content.f();
        // 再删除多余的 f 参数
        delete content.f;
        return res;
    };
    function fn(num1, num2) {
        console.log("this----->", this);
        return num1 + num2;
    }
    let obj = {
        name: "kaimo313"
    };
    let res = fn.apply(obj, [1, 2]);
    console.log("res----->", res);
    let res2 = fn.kaimoApply(obj, [1, 2]);
    console.log("res2----->", res2);
</script>



459128534dea4c4d87883286ce8735f4.png


目录
相关文章
|
5月前
03 # 手写 call
03 # 手写 call
21 0
|
7月前
|
Python
apply函数的用法
apply是pandas处理数据经常用到的函数。我们可以用DataFrame的apply函数实现对多列、多行的操作。可通过axis设置参数,设为1是对列进行操作,参数axis设为0是对行操作。apply经常跟lambda一起使用,非常方便,大大提高了效率。
|
4月前
|
前端开发 JavaScript 对象存储
【面试题】面试官为啥总是让我们手写call、apply、bind?
【面试题】面试官为啥总是让我们手写call、apply、bind?
|
9月前
手写apply
手写apply
41 0
|
9月前
|
JavaScript
JS 手写实现call,apply方法
JS 手写实现call,apply方法
43 0
|
9月前
|
前端开发
前端扫盲202307手写apply
前端扫盲202307手写apply
38 0
|
9月前
|
前端开发
前端扫盲之手写apply
前端扫盲之手写apply
55 0
前端扫盲之手写apply
|
前端开发
前端学习案例1-call,apply的重用
前端学习案例1-call,apply的重用
56 0
前端学习案例1-call,apply的重用
|
缓存 移动开发 前端开发
10分钟教你手写8个常用的自定义hooks
Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。本文是一篇以实战为主的文章,主要讲解实际项目中如何使用hooks以及一些最佳实践,不会一步步再介绍一遍react hooks的由来和基本使用,因为写hooks的文章很多,而且官网对于react hooks的介绍也很详细,所以大家不熟悉的可以看一遍官网。
352 0
手写系列 # 4:实现 apply 方法
手写系列 # 4:实现 apply 方法
73 0
手写系列 # 4:实现 apply 方法