innerWang / blogs

1 stars 0 forks source link

Function的原型方法 #18

Open innerWang opened 5 years ago

innerWang commented 5 years ago

Function.prototype.bind()

bind() 会以指定的this值和初始参数,返回创建的新函数

  func.bind(thisArg[, arg1[, arg2[, ...]]])

由于bind() 方法是创建一个函数,所以需要执行才可得到结果。

Function.prototype.apply()

apply() 会以指定的this值和参数(形式为数组或类数组对象), 调用一个函数

   func.apply(thisArg, [argsArray])

Function.prototype.call()

call() 会以指定的 this 以及参数列表,调用一个函数。与 apply() 方法的不同之处仅在于参数的形式。

   fun.call(thisArg, arg1, arg2, ...)

我们可以理解函数的调用形式为 xxx.func(param),如果yyy想要调用func,则需要xxx.func.call(yyy, param) 类似于 : 猫.吃鱼(鱼) , 现在狗想要吃鱼,则为猫.吃鱼.call(狗,鱼)