JavaScript関数で定義されている一般的な注意事項のまとめ

1139 ワード

本論文では、javascript関数の定義における一般的な問題についてまとめた.初心者にありがちなミスが含まれています.皆さんの参考にしてください.具体的なまとめは以下の通りです.
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プログラム設計の学習に一定の参考価値があると信じています.