タグ付けされた質問 「function-expression」

5
名前付き関数式を使用する理由
JavaScriptで関数式を実行するには、2つの異なる方法があります。 名前付き関数式(NFE): var boo = function boo () { alert(1); }; 無名関数式: var boo = function () { alert(1); }; そして、どちらもで呼び出すことができますboo();。なぜ/いつ匿名関数を使用する必要があるのか​​、いつ名前付き関数式を使用するべきなのか、本当にわかりません。それらの間にはどのような違いがありますか?

5
JavaScript関数を再帰的に呼び出す
次のように、変数に再帰関数を作成できます。 /* Count down to 0 recursively. */ var functionHolder = function (counter) { output(counter); if (counter > 0) { functionHolder(counter-1); } } これにより、functionHolder(3);が出力されます3 2 1 0。私が次のことをしたとしましょう: var copyFunction = functionHolder; copyFunction(3);3 2 1 0上記のように出力されます。その後functionHolder、次のように変更した場合: functionHolder = function(whatever) { output("Stop counting!"); その後、期待どおりにfunctionHolder(3);を与えるでしょうStop counting!。 copyFunction(3);今与え3 Stop counting!、それが指すようにfunctionHolder(それ自体が指す)、機能しません。これは状況によっては望ましいかもしれませんが、関数を保持する変数ではなくそれ自体を呼び出すように関数を作成する方法はありますか? つまり、これらのすべての手順を実行しても、呼び出し時にまだ与えることができるように、行のみを変更することは可能ですか?私は試しましたが、それは私にエラーを与えます。functionHolder(counter-1);3 2 1 0copyFunction(3);this(counter-1);this …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.