02实战:call 、apply 、 bind 函数之间的区别是什么? 如何模拟 call 、apply 、 bind 函数的实现原理(实例演示)

Ⅰ、call 、apply 、bind之间的区别是什么?

1、call、apply、bind 的介绍:

其一、 call() 函数:
fn.call(obj,1,2);
A、call() 函数中的第一个参数表示:想让 this 指向的对象 (obj);
B、call() 函数中的第二及以后参数表示:传进去的实参;
C、call() 函数的功能:让函数立执行、可改变 this 的指向、可实现继承问题;

其二、apply() 函数:
fn.apply(obj,[1,2]);
A、apply() 函数中的第一个参数表示:想让 this 指向的对象 (obj);
B、apply() 函数中的第二及以后参数表示:传进去的实参,但必须要是一个数组(但从严格意义上来讲,此时传递的只能算是一个伪数组);
C、apply() 函数的功能:让函数立执行、可改变 this 的指向;

其二、bind() 函数:
fn.bind(obj,1,2);
A、bind() 函数中的第一个参数表示:想让 this 指向的对象 (obj);
B、bind() 函数中的第二及以后参数表示:传进去的实参;
C、bind() 函数的功能:函数不能立执行(需要再调用)、可改变 this 的指向、返回值是一个仅 this 指向

猜你喜欢

转载自blog.csdn.net/weixin_43405300/article/details/121894586
今日推荐