私はここでfirebugを使用しており、これらのコードのようなものを示すためのブログ投稿を書こうとしています。関数式で匿名関数に名前を付けますか?
// Unnamed Anonymous Function
var count1 = function() {
var x = 0, f;
f = function() {
x = x + 1;
return x;
};
return f;
};
// Named Anonymous Function
var count2 = function cf() {
var x = 0, f;
f = function ff() {
x = x + 1;
return x;
};
return f;
};
var c = count1();
console.log(count1); // function()
console.log(c); // function()
var d = count2();
console.log(count2); // cf()
console.log(d); // ff()
ポイントは、放火犯はちょうどfunction()
として無名関数をログに記録し、さらにあなたはそれがスクリプト]タブにあなたをナビゲートしますが、間違った位置に時々リンクをクリックして、あなたの無名関数はありません。
しかし、cf()
やff()
のような名前を付けると、それがどの機能であるかを簡単に思い出すことができます。
この例ではコードは短いですが、大規模アプリケーションで作業する場合などは短くなります。 ASP.net Webフォームのスクリプトリソースで、関数の名前がどうにかしてデバッグ時の日を節約できますか?
P.S.私は関数式よりも関数式が好きです。
なぜ:if(...){g = function(){}}} else {g = function(){}};} f = g; – RobG
@Rob - 関数式がもはや指定されていないので、IEの問題を取り除くことは間違いありません。私が理解しているように、関数exprを最初に指定する*唯一の理由は、デバッグ情報を改善することです.FireBugやChromeのツールがどれほど優れているかはわかりません。 –
これまでに知り得なかったこと、ありがとう@アダム! –