ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の関数宣言と式の主な違いは何ですか?
JavaScript では、式または宣言のいずれかを使用して関数を定義できます。どちらのアプローチでも再利用可能なコード ブロックを作成できますが、実行コンテキストでの動作に根本的な違いがいくつかあります。
関数式は、変数または定数に値として代入される匿名関数です。構文は次のとおりです。
var foo = function() { return 5; };
この例では、foo は呼び出されると値 5 を返す匿名関数 (正式名がありません) です。
逆に、関数宣言は、function キーワードに続いて名前とオプションのパラメーターを使用して宣言された名前付き関数です。
function foo() { return 5; }
この場合、foo は、実行する名前付き関数です。上記の無名関数式と同じタスク。
式と宣言の主な違いは、それらが実行コンテキストにどのようにロードされるかにあります。
// Function Expression alert(foo()); // ERROR! var foo = function() { return 5; };
この例では、foo がまだ定義されていないため、alert(foo()) はエラーをスローします。
// Function Declaration alert(foo()); // Alerts 5 function foo() { return 5; }
ここでは、alert(foo()) がアラートを発行します5 は、コードが実行される前に関数宣言がロードされるためです。
while 関数式宣言はほとんどの場合同様に動作しますが、注意すべきニュアンスがいくつかあります:
以上がJavaScript の関数宣言と式の主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。