ホームページ >ウェブフロントエンド >jsチュートリアル >関数宣言と関数式の違いは何ですか?
関数を定義するには、関数宣言と関数式の 2 つの方法があります。
関数宣言の構文は次のとおりです:
function functionName(arg0,arg1){//函数体}
最初に関数キーワード、次に関数名です。関数名を指定する方法は次の 2 つです。関数宣言に関して、その最も重要な機能の 1 つは 関数宣言のプロモーション です。これは、コードを実行する前に関数宣言が読み取られることを意味します。これは、関数宣言をそれを呼び出すステートメントの後に配置できることを意味します。例: a();function a(){alert("a");}//a
この例は、コードを実行する前に関数宣言が読み取られるため、問題が発生することはありません。
var a = function(arg0,arg1){//函数体};
関数式には、他の式と同様に、使用する前に値
を割り当てる必要があります。次のコードはエラーになります: a();var a = function(){alert("a");};//错误//补充说明:使用该方法定义函数,只有变量声明提前了,变量初始化代码仍在原来的位置
2. 関数宣言と関数式の違い
//函数声明 function sum(a, b) { return a + b; } alert(sum(1, 2));
//函数表达式 /* var s = function sum(a, b) { return a + b; } alert(s(1, 2)); */ var s = function(a, b) { return a + b; } alert(s(1, 2)); //以上两种都可以
2. 関数宣言で定義された関数は関数宣言の前に呼び出すことができますが、関数式で定義された関数は宣言の後にのみ呼び出すことができます。
基本的な理由は、パーサーがこれら 2 つの定義メソッドを読み取る順序が異なるためです。パーサーは関数宣言を読み取ります。つまり、関数宣言は任意の位置で呼び出すことができますが、関数式の場合、パーサーは関数宣言を読み取ることができます。読み取りのみ 関数式が配置されている行まで実行は開始されません (詳細については、第 1 部「関数の定義方法」を参照してください)。
以上が関数宣言と関数式の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。