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()
…待完成