bind、apply、区别详解也就是一个新的函数如果你对编程感兴趣不妨继续探索

bind、apply、call 之间的区别详解


一、执行方式不同

想象一下,call 和 apply 就像是瞬间执行的超级英雄,它们一出现就能直接行动起来。而 bind 就像是个慢动作的特工,它不会立即行动,而是先回来给你一个新的能力(也就是一个新的函数)。

执行方式 call apply bind
执行时机 立即执行 立即执行 不立即执行,返回新函数

二、传参方式不同

call 和 bind 都是个性主义者的代表,它们喜欢一个一个地单独传参。而 apply 就像是个打包专家,喜欢把参数装进一个盒子里(数组)一起传。

传参方式 call apply bind
参数传递 逐个传递 数组传递 逐个传递

三、修改 this 的性质不同

call 和 apply 就像是一时的朋友,它们只是临时改变一下你的形象(也就是 this 的指向),等玩够了就恢复原样。而 bind 就像是个绑定的魔法,一旦绑定了,就再也改不了。

修改 this 的性质 call apply bind
修改 this 临时修改 临时修改 永久修改

来源与延伸阅读

这些小知识点都是从哪里来的呢?它们都来自于我们神秘的编程世界。如果你对编程感兴趣,不妨继续探索。