call

image.png

应用

主要用来实现继承。 Father.call(this,x,x) 因为call会指向函数, 这里相当于给Son添加了Father的属性 因为this.x添加了新的。
image.png

apply

跟call一样 区别就是传参为数组
image.png

应用

数组没有球最大值方法,但Math(数学)内置对象有,利用apply实现球数组最大值

  1. //Math.max(1, 3, 2)
  2. var arr = [1,3,2]
  3. var max = Math.max.apply(Math,arr)
  4. consolt.log(max) //3

bind

与call唯一区别 - 不会调用函数,返回值为原函数的拷贝
image.png

应用

image.png