自定义实现bind和call函数

1、bind函数和call函数的作用

        bind函数和call函数以及apply功能类似都是修改函数中this的指向,并且他们都是Function上的方法。

        bind函数:

             格式: funName.bind(obj,params)()  

             功能:将函数中的this(原本指向window)指向obj对象,相当于obj.funName(params),当时由于bind返回一个新的复制的函数,因此需要在加一个()用来调用返回的函数,此处与call()不相同,还应注意bind和call的其他参数都是一个一个传入,这点不同于apply是通过数组的形式传入,这点在实现自定义函数时通过...方法来实现

         call函数: 

             格式:funName.call(obj,params)

             功能:类似于bind

2、自定义bind()函数

         解析:bind函数使用时需要传入参数,一个是this所要指向的对象,另一个是其他参数,我们可以使用...来接收其他的参数。同时还要注意如果bind()中不传入参数,那么函数中的this依然指向window

3、自定义call函数

解析:因为call方法和bind方法类似,在自定义时需要注意的请参考自定义bind

如果有我没有发现的错误,请大佬们及时指出,谢谢

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容