函数调用方法:call 与 apply
在 JavaScript 中,call 和 apply 方法允许您使用自定义上下文和参数调用函数。虽然这两种方法具有相同的目的,但它们在处理参数传递的方式上有所不同。
call 与 apply:参数处理
主要区别在于参数的处理方式提供给函数:
要记住这种区别,助记符“A 代表数组,C 代表逗号”可以是有用。
语法:
调用:
theFunction.call(valueForThis, arg1, arg2, ...)
申请:
theFunction.apply(valueForThis, arrayOfArgs)
示例:
function theFunction(name, profession) { console.log("My name is " + name + " and I am a " + profession + "."); } theFunction("John", "fireman"); theFunction.apply(undefined, ["Susan", "school teacher"]); theFunction.call(undefined, "Claude", "mathematician");
在在此示例中,call 方法与逗号分隔的参数一起使用,而 apply 方法采用参数数组。
扩展运算符:
在 ES6 及更高版本中,扩展运算符可用于将数组作为参数传递给call 方法:
theFunction.call(undefined, ...["Matthew", "physicist"]);
性能和使用建议:
call 和 apply 之间没有显着的性能差异。选择使用哪种方法取决于具体情况:
以上是JavaScript 中的 Call 与 Apply:这些函数调用方法有何不同?的详细内容。更多信息请关注PHP中文网其他相关文章!