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


目录
相关文章
|
7月前
|
Python
apply函数的用法
apply是pandas处理数据经常用到的函数。我们可以用DataFrame的apply函数实现对多列、多行的操作。可通过axis设置参数,设为1是对列进行操作,参数axis设为0是对行操作。apply经常跟lambda一起使用,非常方便,大大提高了效率。
|
8天前
|
前端开发 JavaScript 对象存储
【面试题】面试官为啥总是让我们手写call、apply、bind?
【面试题】面试官为啥总是让我们手写call、apply、bind?
|
9月前
手写apply
手写apply
43 0
|
9月前
|
JavaScript
JS 手写实现call,apply方法
JS 手写实现call,apply方法
44 0
|
9月前
|
前端开发
前端扫盲202307手写apply
前端扫盲202307手写apply
39 0
|
9月前
|
前端开发
前端扫盲之手写apply
前端扫盲之手写apply
55 0
前端扫盲之手写apply
|
11月前
|
JavaScript 前端开发
📕 重学JavaScript:如何实现一个`call`/`apply`?
这次要说的 call/apply 方法其实和 bind 极其类似。
61 0
|
12月前
|
前端开发 JavaScript
手写javascript中的call、apply、bind方法~
手写javascript中的call、apply、bind方法记录
47 1
|
前端开发
前端学习案例1-call,apply的重用
前端学习案例1-call,apply的重用
56 0
前端学习案例1-call,apply的重用

热门文章

最新文章