bind、apply、call 之间的区别是:1、执行方式不同;2、传参方式不同;3、修改this的性质不同。执行方式不同是指,call和apply是改变后页面加载之后就立即执行,是同步代码。bind是异步代码,改变后不会立即执行;而是返回一个新的函数。
一、执行方式不同
call和apply是改变后页面加载之后就立即执行,是同步代码。
bind是异步代码,改变后不会立即执行;而是返回一个新的函数。
二、传参方式不同
call和bind传参是一个一个逐一传入,不能使用剩余参数的方式传参。
apply可以使用数组的方式传入的,只要是数组方式就可以使用剩余参数的方式传入。
三、修改this的性质不同
call、apply只是临时的修改一次,也就是call和apply方法的那一次;当再次调用原函数的时候,它的指向还是原来的指向。
bind是永久修改函数this指向,但是它修改的不是原来的函数;而是返回一个修改过后新的函数,此函数的this永远被改变了,绑定了就修改不了。
来源:https://blog.csdn.net/weixin_48524561/article/details/124567266
延伸阅读
编程是什么
编程,也被称为编写代码,是创建和实现计算机软件的过程。这涉及到编写一系列的指令,这些指令会告诉计算机怎样处理特定的任务或问题。这些指令组成的集合通常被称为程序或软件。
文章标题:bind、apply、call 之间的区别是什么,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/51961