Javascript 如何为mybind编写代码

Javascript 如何为mybind编写代码,javascript,Javascript,我在一本书中找到了这段代码,《如何编写或定义mybind的代码》 var concat = function(a, b) { return a + " " + b;} var good = mybind(concat, "good"); good("night") == "good night" 以下内容将使您的比较返回truemyBind应该创建一个绑定到b的新函数。这就是bind所做的 var mybind = function( fn, b ) { return fn.bind(this

我在一本书中找到了这段代码,《如何编写或定义mybind的代码》

var concat = function(a, b) { return a + " " + b;}
var good = mybind(concat, "good");
good("night") == "good night"

以下内容将使您的比较返回true
myBind
应该创建一个绑定到
b
的新函数。这就是
bind
所做的

var mybind = function( fn, b ) { return fn.bind(this, b); };

要创建新函数,您可以自己创建:

函数mybind(f,a){
返回函数(b){
返回f(a,b);
}
}
var concat=函数(a,b){返回a+“”+b;}
var good=mybind(concat,“good”);
控制台日志(晚安)如下所示:

var concat=function(a,b){返回a+“”+b;}
var mybind=函数(fn,arg1){
返回函数(arg2){
返回fn(arg1,arg2);
};
}
var good=mybind(concat,“good”);

log(good(“night”)=“good night”)
函数mybind(arg1,arg2){…}
我指的是它的硬代码:Dlogic@ratebaltal
mybind
应该做什么?你试过什么?堆栈溢出不是一个免费的代码编写服务。我认为将good绑定到concat函数是不可取的,我尝试了以下方法:函数mybind(func,v){func.bind(v);return func(v);}@ratebaltal你很接近了。bind返回一个新函数,所以您只需要返回调用bind的结果。另外,要绑定的第一个参数是要绑定到
this
的对象,因此您也需要传递该参数。像
函数(fn,b){返回fn.bind(this,b);}