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
如果有我没有发现的错误,请大佬们及时指出,谢谢