JavaScript関数で定義されている一般的な注意事項のまとめ
1139 ワード
本論文では、javascript関数の定義における一般的な問題についてまとめた.初心者にありがちなミスが含まれています.皆さんの参考にしてください.具体的なまとめは以下の通りです.
1.関数宣言と同時にJSエンジンは、関数名と同名の変数を定義しています.この関数を呼び出したときは、実際にこの変数を使用しています.関数宣言の前に呼び出すことができます.例えば、
1.関数宣言と同時にJSエンジンは、関数名と同名の変数を定義しています.この関数を呼び出したときは、実際にこの変数を使用しています.関数宣言の前に呼び出すことができます.例えば、
foo(); //
function foo() {
alert('hello');
}
2.関数式の場合、匿名関数は変数に割り当てられます.この変数は定義後に使用する必要があります.
foo(); // ,
var foo = function() {
alert('hello');
}
3.関数式(with関数名)、このような使い方は避けたほうがいいです.この場合、非IEブラウザでは、関数名は内部でのみ使用できます.例えば、
bar(5); // ,
var bar = function foo(n) {
if (n == 1)
return 1;
else
return n * foo(n - 1);
}
foo(5); // IE ,
bar(5); //
4.Functionコンストラクタで定義すると、この方式は効率が低く、関数を実行するたびに、その関数体は一回解析されます.さらに、このように宣言された関数は、現在の宣言位置のスコープを引き継ぎません.デフォルトではグローバルスコープのみを所有します.
function foo() {
var bar = 'hello';
return Function('alert(bar)'); // , bar
}
foo()();
この文章は皆さんのjavascript WEBプログラム設計の学習に一定の参考価値があると信じています.