まず第一に、次のように JavaScript プログラムで偽の名前空間を使用しようとしています。
// Ish.Com namespace declaration
var Ish = Ish || {};
Ish.Com = Ish.Com || {};
// begin Ish.Com.View namespace
Ish.Com.View = new function() {
var privateVariable;
this.publicFunction = function() {
this.publicFunction2()
};
this.publicFunction2 = function() { ... };
};
私は他の関数を呼び出すことに夢中ではありませんthis
が、最近までは機能していました。ただし、いくつかの要素にイベント リスナーを追加したところ、それらthis
はターゲット オブジェクトとして解釈されます。
this
リスナー内の関数を呼び出す代わりに、完全な名前空間を使用できることはわかっていますIsh.Com.View.publicFunction2()
が ( )、リスナーは、ある関数を呼び出し、その関数が別の関数を呼び出したり、別の関数を呼び出したりすることがよくあります。ほとんどすべての関数呼び出しで名前空間全体を使用する必要があります。
名前空間をイベント リスナーとうまく連携させるにはどうすればよいですか? 名前空間を使用するのは面倒なので、名前空間を実装するより良い方法にも興味がありますthis.publicFunction2()
。
私はベスト プラクティスに非常に興味があり、JavaScript で適切に設計されたアプリケーションを作成する方法を学びます。ただし、フレームワークは、JavaScript をより完全に理解するまで問題外です。