call apply bind的用法和区别

136 阅读1分钟

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 立即执行。