在javascript中将值绑定到函数

use*_*969 1 javascript bind

让我们说我有这个功能:

function toy(input) {
    return input + 1;
}
Run Code Online (Sandbox Code Playgroud)

我想基本上生成一个函数,通过将3绑定到输入来打印4.所以我可以调用类似fn()的东西,它会打印4.

所以我试着这样做:

var fn = toy.bind(3);
Run Code Online (Sandbox Code Playgroud)

然后当我执行fn()时,我没有得到4.

我是否需要使用'this'才能使这项工作/有没有办法在没有绑定的情况下做到这一点?

Ami*_*mit 5

传递给的第一个参数.bind()用作this被调用函数.传递给被调用函数的第一个参数是传递给的第二个参数.bind().如果有的话,你可以使用有意义的this绑定,或者只是null在函数忽略时使用this:

var fn = toy.bind(null, 3);
Run Code Online (Sandbox Code Playgroud)