call() 和 apply() 的作用与区别

call() 和 apply()

简单来说,call() 和 apply() 的作用就是改变 this 的指向,区别就是传参列表不同。

猫吃鱼,狗吃肉,奥特曼打小怪兽
有一天,狗想吃鱼了
猫.吃鱼.call(狗,鱼)
狗就吃到鱼了
猫成精了,想打怪兽
奥特曼.打怪兽.call(猫,小怪兽)

objA.call(objB, arg1, arg2, ...)
objA.apply(objB, [arg1, arg2, ...])

两者都是把 objA 绑定到 objB 上,这个时候 objB 就有了 objA 的属性和方法,或者说 objB 继承了 objA 的属性和方法

用 js 实现 call() 和 apply()

…待完成

猜你喜欢

转载自blog.csdn.net/weixin_42186513/article/details/83308264