0

特定の名前空間のローカル変数を削除したい。

これは、モデル、ビュー、コントローラーなどの他のオブジェクトを保持するためにいくつかのローカルオブジェクトをセットアップしたライブラリの一番上です。

ただし、名前空間へのローカルなしでライブラリを整理する方法があると言われています。

ここの投稿で、ユーザー Raynos は、これがライブラリを整理する最良の方法かもしれないと述べています。名前空間にゼロ ローカルを使用します。

ライブラリのローカルをまとめて削除するにはどうすればよいですか?

(function (window, document) {
    "use strict";
    var Mo = {},
        Vi = {},
        Co = {},
        Su = {};
4

1 に答える 1

1

あなたの要件に最も近いのは、引数の変数を「隠す」ことです。

(function(window, document, Mo, Vi, Co, Su) {
    "use strict";
    // The rest of your code here, using the arguments instead of variables...
})(window, document, {}, {}, {}, {});

ただし、次の 2 つの点があります。

  • これらの引数は、取り除こうとしている変数とまったく同じスコープを持っています (つまり、無名関数に対してローカルです)。

  • Moこれにより、 、ViCoおよび(ファイルの上部にある関数のパラメーター リスト内)の宣言とSu、それらの初期化 (ファイルの下部にある関数に渡される引数内) が分離されます。これにより、コードの可読性と保守性が低下しますが、これはおそらくあなたの目標ではありません。

于 2012-08-17T18:31:23.973 に答える