-1

重複の可能性:
JavaScript:var functionName = function(){} vs function functionName(){}
Javascriptでの関数式と宣言の違いは何ですか?

Javascript関数を宣言する正しい方法は何ですか?

codeacademy.comから私はこのようになりました:

var someFunction = function(paramA, paramB){
    // do some function here
}

しかし、プログラミングの基本はPHPであるため、次のように関数を宣言することをお勧めします。

function someFunction(paramA, paramB){
    // do some function
}

私が懸念しているのは、関数を宣言するための推奨される方法はどれかということです。私の好みの方法が何らかの結果をもたらすかどうかは心配ですが、NetBeansコードナビゲーターがすべての関数を読み取ることができるので、その方法が大好きです。

Netbeansコードナビゲータ

4

1 に答える 1

2

どちらも受け入れられます。実際、次のこともできます。

foo = function bar() { 
          console.log(arguments.callee.name); 
};

その後、を呼び出すと、コンソールにfoo()表示されます。"bar"

最初のメソッドは無名関数を作成し、それを変数に割り当てます。

2番目のメソッドは、名前付き関数を作成し、それを現在のスコープ内に配置します。

3番目のメソッドは、名前付き関数を作成し、それを変数に割り当てます。ただし、今回はその機能の範囲内にのみ名前が存在します。

名前()を使用して関数を宣言するとfunction name () {}、再帰的アルゴリズムを実装するために必要になる場合があるため、関数をそれ自体の内部からより簡単に呼び出すことができるという利点があります。そうでない場合は、それ自体の中で関数を呼び出すためにを使用する必要がありますが、 MDNarguments.callee.nameでは警告されます。

それはすべて、どちらも受け入れ可能であり、疑わしい場合は、名前付き関数を使用することで大した間違いはないという、長い間言われている方法です。

于 2013-01-22T15:29:11.297 に答える