apply()与call() 详解
每个函数都包含的两个非继承而来的方法:apply()和call()。然而这俩方法萌芽总是忘记所以今天打算深入的去学习一下借此加深记忆!这俩方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内的this对象的值。
apply()
apply()方法接受两个参数,第一个是在其中运行函数的作用域,另一个是参数数组。其中第二个参数可以是Array的实例,也可以是argument对象,举个栗子:
function sum(num1, num2) {
return num1 + num2
}
function callSum1(num1, num2) {
return sum.apply(this, [num1, num2])
}
function callSum2() {
return sum