javascript函数调用中的 call 和 apply 方法

每个 javascript 函数都包含两个非继承而来的方法:apply()call() 。这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内 this 对象的值。
首先,apply() 方法接收两个参数:一个是在其中运行函数的的作用域,另一个是参数数组。其中第二个参数可以是 Array 的实例,也可以是 arguments 对象。
例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function sum(num1, num2) {
return num1 + num2;
}


function callSum1(num1, num2) {
return sum.apply(this, arguments);
}

function callSum2(num1, num2) {
return sum.apply(this,[num1, num2]);
}

console.log(callSum1(10, 10));
console.log(callSum2(10, 10))

作者

Bruce Liu

发布于

2019-01-25

更新于

2022-11-12

许可协议

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

评论

You forgot to set the shortname for Disqus. Please set it in _config.yml.