function sum(x,y,z){
return x+y+z;
}
sum.bind(this,1,2,3)();//执行完是6
sum.bind(this,1,2)(3);//同上
这两种写法有什么区别
function sum(x,y,z){
return x+y+z;
}
sum.bind(this,1,2,3)();//执行完是6
sum.bind(this,1,2)(3);//同上
这两种写法有什么区别
第一种值永远是6,因为x=1,y=2,z=3的参数值无法改变,sum.bind(this,1,2,3)等价于
function sum(){
var x=1,y=2,z=3;
return x+y+z;
}
第二种可以修改z的值,通过参数传入
sum.bind(this,1,2)
等价于
function sum(z){
var x=1,y=2;
return x+y+z;
}