call、apply和bind的作用: 动态的修改当前函数内部环境对象this的指向。
相同点: 作用相同,都是动态修改this指向;都不会修改原先函数的this指向。
不同点:
(1) 执行方式不同:
call和apply是改变后页面加载之后就立即执行,是同步代码。
bind是异步代码,改变后不会立即执行;而是返回一个新的函数。
(2) 传参方式不同:
call和bind传参是一个一个逐一传入,不能使用剩余参数的方式传参。
apply可以使用数组的方式传入的
bind()是异步处理,返回一个函数,函数的this指向修改的值