写代码啦
JS 中的call、apply、bind的区别
回复数(0) 浏览数(24)
{{topic.upvote_count || 0}} 编辑 回复

这三个方法都是用于改变this的指向
在说区别之前还是先总结一下三者的相似之处:
1、都是用来改变函数的this对象的指向的。
2、第一个参数都是this要指向的对象。
3、都可以利用后续参数传参

call和apply都是对函数的直接调用,而bind方法返回的仍然是一个函数,
因此后面还需要()来进行调用才可以。
call后面的参数与say方法中是一一对应的,而apply的第二个参数是一个数组,数组中的元素是和say方法中一一对应的,这就是两者最大的区别。

参考文章:
call apply和bind的区别

{{topic.upvote_count || 0}}

这三个方法都是用于改变this的指向
在说区别之前还是先总结一下三者的相似之处:
1、都是用来改变函数的this对象的指向的。
2、第一个参数都是this要指向的对象。
3、都可以利用后续参数传参

call和apply都是对函数的直接调用,而bind方法返回的仍然是一个函数,
因此后面还需要()来进行调用才可以。
call后面的参数与say方法中是一一对应的,而apply的第二个参数是一个数组,数组中的元素是和say方法中一一对应的,这就是两者最大的区别。

参考文章:
call apply和bind的区别

24
回复 编辑