js bind源码,最后一句为什么要self.apply(....)?

源码


Function.prototype.bind = Function.prototype.bind || function(context) {

  var that = this;

  return function() {

    return that.apply(context, arguments); // 这里为什么要用 that.apply,  作用是什么?

  }

很疑惑,为什么要用that.apply, 仅仅是为了让bind返回一个func而不是一个结果?


梦里花落0921
浏览 1215回答 2
2回答

30秒到达战场

返回的是一个匿名函数,用that代替this,是将当前上下文对象传入这个返回 匿名函数。如果用this的话。就是一个新的上下文。

互换的青春

可以绑定传入的this,也就是context;调用bind返回的函数可以接收参数,也就是arguments
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript