我
`.call`和`.apply`有什么区别?
难度:
.call
和.apply
都用于调用函数,第一个参数将用作函数内 this 的值。然而,.call
接受逗号分隔的参数作为后面的参数,而.apply
接受一个参数数组作为后面的参数。一个简单的记忆方法是,从call
中的 C 联想到逗号分隔(comma-separated),从apply
中的 A 联想到数组(array)。
js
function add(a, b) {
return a + b;
}
console.log(add.call(null, 1, 2)); // 3
console.log(add.apply(null, [1, 2])); // 3