菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
160
0

call(),apply(),bind()

原创
05/13 14:22
阅读数 71569

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指向

发表评论

0/200
160 点赞
0 评论
收藏
为你推荐 换一批