特尔;博士:
简单来说,bind 创建函数,调用和应用执行函数,而应用需要数组中的参数
完整说明
假设我们有multiplication
函数
function multiplication(a,b){
console.log(a*b);
}
让我们创建一些标准函数使用 bind
var multiby2 = multiplication.bind(this,2);
现在 multiby2(b) 等于 multiplication(2,b);
multiby2(3); //6
multiby2(4); //8
如果我在绑定中传递两个参数怎么办
var getSixAlways = multiplication.bind(this,3,2);
现在 getSixAlways() 等于 multiplication(3,2);
getSixAlways();//6
即使传递参数返回6;
getSixAlways(12); //6
var magicMultiplication = multiplication.bind(this);
这将创建一个新的乘法函数并将其分配给 magicMultiplication。
哦不,我们将乘法功能隐藏在 magicMultiplication 中。
调用
magicMultiplication
返回空白function b()
在执行时它工作正常
magicMultiplication(6,5); //30
打电话申请怎么样?
magicMultiplication.call(this,3,2); //6
magicMultiplication.apply(this,[5,2]); //10