call、apply、bind的用法分别是什么?

688 阅读1分钟

call是函数的正常调用方式,并指定下文this。

function add(a,b){
    return  a+b
}
console.log(add.call(add,2,3))

apply的作用和call一样,只是再调用的时候,传参数的方式不同。区别是apply接受的是数组参数,call接受的是连续参数。

function add(a,b){
    return  a+b
}
console.log(add.apply(add,[2,3]))

bind接受的参数和call一致,只是bind不会立即调用,它会生成一个新的函数,你想什么时候调用就什么时候调用

function add(a,b){
    return  a+b
}
const add1 = add.bind(add,2,3)
console.log(add1())