阅读 123

call(),apply(),bind()

JavaScript中对于call(),apply(),bind()的理解

1、callapplybind三者都是用来重定义this这个对象的,其中bind返回的是一个新的函数,所以必须要调用才会执行。

2、callapplybind三者的传参情况

三个函数的第一个参数都是this指向的对象,第二个参数以后则有不同,分别如下:

call的参数是直接放进去的,一次往后使用逗号隔开直接放到后面,例如obj.myproject.call(obj1,‘a‘,‘b‘,‘c‘,‘d‘)

apply的所有参数需要放在一个数组里面,例如``obj.myproject.apply(obj1,[‘a‘,‘b‘,‘c‘,‘d‘])`

bind的参数和call一样,只是返回值不一样。

注意:传入参数可以是各种数据类型。

通俗理解就是为了改变this指向

原文:https://www.cnblogs.com/yangguanglei/p/14693954.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐