Javascript里面call和apply以及bind的实现

275 阅读1分钟

用途:apply call 和bind 允许为不同的对象分配和调用属于一个对象的函数/方法。同时它们可以改变函数内 this 的指向。

区别 apply 和 call 接收的参数形式不同,apply接收的是包含若干个参数的数组,call接收多个参数。

apply 和 call 都是直接调用函数并得到函数执行结果,而 bind 会返回待执行函数,需要再次调用

call的实现

call.png

apply的实现,与call大致一样,只是参数有区别

apply.png

bind的实现

bind.png