ホームページ >ウェブフロントエンド >jsチュートリアル >`call()` と `apply()`: いつどの関数呼び出しメソッドを使用するか?
call と apply による関数呼び出し
関数を呼び出すとき、プログラマは Function.prototype.apply() または Function を使用するオプションに遭遇することがよくあります。 .prototype.call()。この記事では、両方のメソッドの違いと使用例について説明します。
apply() と call()
根本的な違いは、関数の引数の処理方法にあります。
構文
Method | Syntax |
---|---|
apply() | function.apply(thisArg, [arg1, arg2, ...]) |
call() | function.call(thisArg, arg1, arg2, ...) |
ニーモニック
違いを覚えるには:
使用するケース
パフォーマンスに関する考慮事項
どちらのメソッドも同様のパフォーマンス特性を持っています。 ES6 以降では、スプレッド演算子 (...) を call() で使用でき、apply() のより簡潔な代替手段を提供します。
例
次の関数を考えてみましょう:
function greet(name, occupation) { console.log(`Hello, my name is ${name} and I'm a ${occupation}.`); }
apply() と を使用した関数の呼び出しcall():
greet.apply(undefined, ["John", "engineer"]); greet.call(undefined, "Mary", "doctor");
これは出力します:
Hello, my name is John and I'm a engineer. Hello, my name is Mary and I'm a doctor.
以上が`call()` と `apply()`: いつどの関数呼び出しメソッドを使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。