0

たとえば、JavaScript コードは次のとおりです。

function a() {  
    this.Foo = function() {//...}
}  

私が通常行うことは、グローバル参照を作成することです。

_a = new a();

次に、本文または他のスクリプト領域のどこでも使用します。

_a.Foo()

これは良い習慣ですか、それとも悪い習慣ですか? または、それを行うためのより良い/より専門的な方法はありますか?

4

1 に答える 1

4

一般に、Javascript 開発者はこれを回避しようとします。これは、さまざまなライブラリがグローバル スコープで互いに競合する可能性があるためです。これを回避するには、(可能であれば)クロージャと呼ばれるものを使用して、変数のプライベート スコープを作成することを検討してください。それは次のようになります。

(function() {
    _a = new a();
})();

内部関数内で宣言されたものはすべて、外部のコードからは見えません。

なんらかの理由でクロージャーを使用できない場合は、変数の「名前空間」を作成することもできます。

var MyCompany = { };
MyCompany.MyLibrary = { };
MyCompany.MyLibrary._a = new a();

このようにして、コードを 1 つのグローバル名 (MyCompany) を取得するように制限し、他の変数とメソッドをその名前空間内に置くことができます。

于 2012-06-04T02:54:27.203 に答える