非常に単純な Firefox アドオンの開発の一環として、Javascript の学習を開始しました。Firefox アドオンのチュートリアルでは、このように名前空間内のすべての関数とデータをカプセル化するようアドバイスしています。
if ("undefined" == typeof(XULSchoolChrome)) {
var XULSchoolChrome = {};
};
XULSchoolChrome.BrowserOverlay = {
first_name : new String,
onmenuclick : function(aEvent) {
// do something here
}
};
これに関連していくつか質問があります。
XULSchoolChrome
という名前のプロパティを持つオブジェクトであることは理解していますBrowserOverlay
。しかし、では と は何first_name
ですかonmenuclick
?それらはオブジェクトのサブプロパティですか?BrowserOverlay
first_name
関数内にアクセスする必要がある場合onmenucick
は、完全修飾する必要がありますXULSchoolChrome.BrowserOverlay.first_name
。これは、重要なコードではすぐに扱いにくくなります。Javascript で名前空間をシミュレートするより優雅な方法はありますか?