用javascript模拟call、apply和bind实现,并调用

作为一个新手来说,call,apply,bind这三种改变指向的方法对于我在学习的过程中有很大的帮助,虽然我不太懂得它们的原理,但是不妨碍我去使用它们,不过,作为一个程序员。我觉的我还是应该学会或者知道一些它的原理。

所以我通过在网上或朋友的帮助,自己写了一个关于call,apply,bind的JavaScript的代码实现。

首先,我们要知道它们三者的区别:

	1.call:call方法中可以传入许多的参数,第一个参数是要改变的指向,第二个参数以后的参数是你要传入的内容。
	
	2.apply:apply方法只能传入两个参数,第一个参数是要改变的指向,第二个参数是一个数组,你可以在数组里放很多内容,但apply只能传两个参数。
	
	3.bind:bind方法是一个函数,所以得再调用它,不然会是一个函数体。bind方法和call方法在使用上差不多,只是bind需要再调用一遍,即加括号 "()"。

call方法的JavaScript实现:
apply方法的JavaScript实现:

在这里插入图片描述

bind方法的JavaScript实现:
在这里插入图片描述

这就是我所写的三种指向的原生代码实现,可能会有一些缺点,请各位看官老爷汲取精华,去除糟粕。

如果对于我的内容有任何不解或者疑惑,还请告诉我,我们共同探讨,我也是个刚踏入IT行业的小白,还有很多不足,请多多包涵。

最后,感谢各位朋友来看我的内容,万分感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值