# bind

_bind(context, arg)#

创建一个调用func的函数,thisArg绑定func函数中的 this (注:this的上下文为thisArg) ,并且func函数会接收partials附加参数。

# 参数

  • context (*): func 绑定的this对象。
  • arg: 附加的参数

# 返回

  • (Function): 返回新的绑定函数。

# 实现

Function.prototype._bind = function (context, ...arg) {
    const self = this;
    const fBound = function (...childArg) {
        return self.call(context, ...arg, ...childArg)
    }
    fBound.prototype = this.prototype;
    return fBound;
}

# 测试

var greet = function (greeting, punctuation) {
    console.log(greeting + ' ' + this.user + punctuation);
};

var object = { 'user': 'fred' };

var bound = greet._bind(object, 'hi');
bound('!');
// => 'hi fred!'
上次更新于: 3/23/2022, 10:11:04 AM