ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript での呼び出しと申請: いつどちらを使用する必要がありますか?

JavaScript での呼び出しと申請: いつどちらを使用する必要がありますか?

Linda Hamilton
リリース: 2024-12-11 16:16:18
オリジナル
516 人が閲覧しました

Call vs. Apply in JavaScript: When Should I Use Which?

呼び出しと適用: 関数呼び出しの違いを明らかにする

JavaScript では、関数の呼び出しは Function を使用したさまざまな方法で実行できます。 .prototype.apply() と Function.prototype.call() は 2 つの有力な選択肢です。ただし、これらのメソッドには、さまざまなシナリオでの適合性に影響を与える重要な違いがあります。

機能の類似性

呼び出しと適用には共通の目的があります。つまり、呼び出しを容易にするということです。関数。ただし、引数を処理する方法は大きく異なります。

apply (ValueForThis, ArrayOfArgs)

apply() メソッドには 2 つの引数が必要です: バインドされる値関数内の "this" キーワードと、関数が受け取る必要がある引数を含む配列に追加します。 apply() メソッドは、配列を関数に渡す前に個々の引数に展開します。

call (ValueForThis, Arg1, Arg2, ...)

対照的に、call() メソッドを使用すると、通常の関数呼び出しと同様に、引数を個別のパラメーターとして渡すことができます。 「this」キーワードにバインドされた値は最初の引数として指定され、その後に関数に必要な残りの引数が続きます。

パフォーマンスに関する考慮事項

ベンチマークにより、その呼び出しが明らかになりますほとんどのシナリオで適用よりもわずかに高速です。これは、呼び出しは引数の展開に伴う追加の処理を必要としないため、オーバーヘッドがわずかに低く動作するためです。

実際的な考慮事項

呼び出しと呼び出しの区別apply は主に、さまざまなタイプの引数を処理するための適合性によって決まります。

  • 固定数の引数を渡す場合は call を使用します。明示的に。
  • 可変数の引数を使用して関数を呼び出す場合、または配列を引数として渡す必要がある場合は、適用を検討してください。

使用例

提供されたコード スニペットは、呼び出しと呼び出しの両方の使用法を示しています。 apply:

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");
theFunction.call(undefined, ...["Matthew", "physicist"]); // using the spread operator
ログイン後にコピー

呼び出しと適用のニュアンスを理解すると、開発者は引数の性質とパフォーマンスの考慮事項に基づいてアプローチを調整し、関数を効果的に呼び出すことができます。

以上がJavaScript での呼び出しと申請: いつどちらを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート