bind实现原理

Function.prototype.bind2=function(context) {

    varself=this;

    //获取bind2函数从第二个参数到最后一个参数

    var args=Array.prototype.slice.call(arguments,1);

    return function() {

    //这个时候的arguments是指bind返回的函数传入的参数    

    var bindArgs=Array.prototype.slice.call(arguments);

    self.apply(context,args.concat(bindArgs)); 

     }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,053评论 0 2
  • 参考《JavaScript设计模式与开发实践》 this 跟别的语言大相径庭的是,JavaScript的this总...
    16manman阅读 582评论 0 0
  • 讲在前面 这次选的计划是源码阅读计划,因为之前花时间x重新再过了高程和权威,觉得得看一些实在的东西来提高自己。因此...
    临水照影233阅读 340评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,270评论 0 4
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,103评论 1 10