call、apply、bind都是改变this指向的方法
call apply bind的用法
1.call
function add(a,b){
alert(a+b)
}
function sub(a,b){
alert(a-b)
}
sub.call(add,3,1)//结果:2
add.call(sub,3,1)//结果:4
2.apply
apply与call的区别就是改变了传参方式
add.apply(sub,[3,1])
3.bind
语法和call一模一样,区别在于立即执行还是等待执行
add.bind(sub,[3,1])
call apply bind的区别
call、apply的区别:接受参数的方式不一样。
bind:不立即执行。而apply、call 立即执行。