ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript での呼び出しと適用: これらの関数呼び出しメソッドはどのように異なりますか?
関数呼び出しメソッド: call と apply
JavaScript では、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 メソッドは引数の配列を受け取ります。
Spread Operator:
ES6 以降では、スプレッド演算子を使用して配列を引数として渡すことができます。 call メソッド:
theFunction.call(undefined, ...["Matthew", "physicist"]);
パフォーマンスと使用法の推奨事項:
call と apply の間に大きなパフォーマンスの違いはありません。どのメソッドを使用するかの選択は、特定の状況によって異なります。
以上がJavaScript での呼び出しと適用: これらの関数呼び出しメソッドはどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。