这三个都是用来改变this指向的

call() 和apply()的第一个参数相同,就是指定的对象。这个对象就是该函数的执行上下文。call()和apply()的区别就在于,两者接收的参数不一样。bind不能立即执行,apply,call可以立即执行

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 apply,all,bind的区别 随笔

浏览器的打印结果都是1

bind会创建一个新函数,称为绑定函数

bind() 方法和前两者不同在于: bind() 方法会返回执行上下文被改变的函数而不会立即执行,而前两者是直接执行该函数。他的参数和call()相同。他是直接改变这个函数的this指向并且返回一个新的函数,之后再次调用这个函数的时候this都是指向bind绑定的第一个参数。bind传餐方式跟call方法一致。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄