3

私は最近、多くの JavaScript コードを見てきましたが、IIFE の「パブリック」プロパティの割り当てを使用する 2 つの異なる方法を見てきました。

1 つ目は、変数を作成し、その変数を IIFE 内のプロパティに次のように割り当てることです。

var public1;

(function(){
    var foo= "Foo", bar= "Bar";

    public1= {
        getFoo: function(){
            return foo;
        }
    };
}());

私が見る2番目の方法は、次のようにIIFEからオブジェクトを返すことです:

var public2 = (function(){
    var foo2= "Foo2", bar2= "Bar2";

    return {
        getBar: function(){
            return bar2;
        }
    };
}());

これら 2 つの方法に根本的な違いはありますか、それとも単なる好みの問題ですか? 必要に応じてコードを実行または更新できるように、フィドルも作成しました: http://jsfiddle.net/bittersweetryan/gnh79/3/

4

1 に答える 1

6

違いはありません。

しかし、私は、2 番目の方が保守が少し簡単であると主張します。最初の例で変数名を変更すると、関数内でも変更する必要があります。

于 2011-08-25T21:43:14.010 に答える