手写 bind 函数

记住 bind 函数一共两个作用:1. 改变 this 指向;2. 暂存参数;

        Function.prototype.bind2=function(content, ...arg) {
            let func = this;
            return function() {
                return func.apply(content, [...arg, ...Array.from(arguments)])
            }
        }
        // 验证
        function add(a, b) {
            console.log(this.num);
            console.log(a, b);
            return a +  b;
        }
        let obj = {num: 1}
        var func = add.bind2(obj, 1);
        console.log(func(2));
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考MDN task1:判断Function.prototype.bind是否存在, 如果存在,不重写,不存在,需...
    小旎子_8327阅读 2,778评论 0 0
  • bind用于改变this指向 测试一下
    小猪佩奇的王子阅读 1,092评论 0 0
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 10,147评论 0 5
  • 参考文章:手写bind()函数,理解MDN上的标准Polyfill
    TRYao阅读 3,982评论 0 0
  • 函数只定义一次,但可能被执行或调用任意次。JS函数是参数化的,函数的定义会包括一个称为形参的标识符列表,这些参数在...
    PySong阅读 4,300评论 0 0