2017-04-05 14 views
0

私はJqueryを学習しています。私の学習プロセスでは、グローバル名前空間を汚染しない方法を学びました。匿名関数を呼び出す (IIFE)自己を使用して自己匿名関数を呼び出すとグローバルな名前空間に影響を与えないようにするオブジェクト指向のアプローチ


  1. 私は2つのアプローチを学びました。
  2. 変数とオブジェクトを保持するオブジェクトを作成するオブジェクト指向アプローチを使用すると、グローバル名前空間に影響を与えずにその変数にアクセスできます。

今私の質問は、より専門的で汚染グローバルnamespace.Iを防止するための良い方法である1、では無名関数を閉じて自己を使用すると、それはオブジェクト指向で1つでもname.Butを追加しないよう優れていると思いますアプローチはグローバル名前空間にオブジェクト名だけが追加されます。
答えは両方とも同じであることを示唆していますが、すべてに賛否両論があります。

+2

:あなたはこのような方法でアプリケーションを構築することができますか? – hindmost

答えて

0

両方のプラクティスを組み合わせることに制限はありません。たぶん、あなたは[生命維持](https://en.wikipedia.org/wiki/Immediately-invoked_function_expression)を意味匿名function_を閉じる_self

(function() { 

    function Greeter(text) { 

     this.greetPhrase = text; 

    } 

    Greeter.prototype = { 

     greet : function() { 

      alert(this.greetPhrase); 

     } 

    }; 

    var greeterInstance = new Greeter('Hello'); 

    greeterInstance.greet(); 

})(); 
関連する問題