call()、applay()以及bind()三者之间的区别?

它们三个作用都是用来强制绑定this指定的对象,但是在使用语法和使用场景上有着不同之处;

一:首先,说一下使用语法上的问题:

1、call(obj,param1,param2,param3······)

参数说明:

                obj:指定的对象

                param:指定的对象中所带有的参数

注:参数之间用逗号隔开。

2、applay(obj,[param1、param2、param3······])

参数说明:

                obj:指定的对象

                param:指定的对象中所带有的参数

注:参数使用数组包含起来。

扩:在不传入参数的情况下,call(obj)和apply(obj)的作用是一样的;

3、bind(obj,param1,param2,param3······)

参数说明:

                obj:指定的对象

                param:指定的对象中所带有的参数

注:参数之间用逗号隔开【和call使用语法一致】

二:使用场景

1、call和apply绑定完this会立即调用当前的函数,而bind绑定完this不会立即调用当前函数,而是将函数返回。

2、call和apply通常用作绑定完立即执行的函数中,而bind通常用来作用在回调函数中定义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值