2016-08-04 11 views
0
 (function(obj){ 
     $.each(Templates.inputs, function(key, value){ 
      obj.elementsKey.push(key); 
      obj.elementsValueType.push(value.type); 
     }); 
    }(this)); 

なぜ機能後に使用されるのですか? そして何objがパラメータ(this)&objが関数の後に使用されるのはなぜですか?

+0

「this」 - コンテキストがIIFEに渡されます。 2つの理由:** 1。** each()の中の 'this'は、** ** 2の範囲内の現在の要素を指します。 – Tushar

答えて

0

として使用しないんとき、これは、いわゆる生命維持です - あなたは、関数を宣言し、すぐにそれを呼び出します。 この関数には、引数objがあり、現在の変数thisが格納されています。たとえば、このIIFEをグローバルスコープ内で実行すると、関数内のobj変数にwindowというオブジェクトが生成されます。

More about IIFE

関連する問題