call 、bind 、 apply这三个函数的第一个参数都是this的指向对象,第二个参数差别就来了:call的参数是直接放进去的,第二第三第n个参数全都用逗号分隔,直接放到后面obj.myFun.call(db,'成都', ... ,'string' );apply的所有参数都必须放在一个数组里面传进去obj.myFun.apply(db,['成都', ..., 'string' ]);bind除了返回是函数以外,它 的参数和call一样
function apply1(num1, num2){
return sum.apply(this, [num1, num2]);
}
function call1(num1, num2){
return sum.call(this, num1, num2);
}
bind()和call与apply不同。bind 返回的是一个新的函数,你必须调用它才会被执行。
var button = document.getElementById("button"),
text = document.getElementById("text");
button.onclick = function() {
alert(this.id); // 弹出text
}.bind(text);
浙公网安备 33010602011771号