オブジェクトを効果的に扱う方法を見ていきます。コードの例から始めましょう。これには、アプローチの仕方が複数あります。ここでは、私たちが見つけた最も効果的で一貫した方法を紹介します。コードや他の拡張機能と競合しないことが分かっている名前空間を持つことです。名前空間の宣言は、そのファイル内で行うことが最善です。ファイル内に含めてください。(または企業名)、次の部分にプロジェクト名を付けています。ほとんどの拡張機能は個々の小さなプロジェクトで開発されています。これらの場合は、プロジェクト名だけの名前空間を持つ現実的なアプローチに従っています。部分を外してください。使用してどのように宣言されているか注意してください。内のどこからでも使用できるように、グローバルオブジェクトにする必要があります。オブジェクトであるため、どのような関数でも含められます。ここで、名前空間に含まれるすべてのオブジェクトで横断的に使用したい共通のユーティリティ関数やプロパティを記述するとよいでしょう。サービスが名前空間のメンバに含められています。オブジェクトは、インデックス付き文字列の配列として扱うこともできます。以下は同じXULSchoolChrome.Hello.init();XULSchoolChrome.Hello["init"]();これは、動的に生成された名前を持つ属性や関数をセットしたい場合にとても役立ちます。特異なプロパティの一つです。すべてのオブジェクトは、名前と値以外に何も割り当てられていません。オブジェクトにも、好きな時に、関数や属性を追加したり置き換えたりできます。これは変な仕様に見えますが、コードが複雑になってきた時に助けになる強力な機能です。内のオブジェクトのメソッドを置き換えることができるため、その通常行われる動作を変更できます。これは最終手段にすべきですが、場合によってはとても役立ちます。ファイルだけで足りるでしょう。多くのコードを必要とする複雑な動作をさせる場合は、それらを複数のオブジェクトとファイルに分けるでしょう。ウィンドウには、必要なだけ複数のスクリプトを含めることができます。イベントハンドラから実行します。完全に読み込まれた後のそれらがユーザに表示される前に発生します。内の要素を操作したり変更したりできます。(すべきではありません)。読み込みが完了しなければなりません。本当にこのような動作が必要な場合は、遅延した後にコードが実行されるようにタイムアウトを設定します。番目の引数の関数を実行します。ため、実際はすぐに実行されません。読み込みを完了させるのに十分な時間です。関数を使用してください。オブジェクトがすぐに使用可能になりません。ミリ秒のタイムアウトを達成する方法を提案しています。ために必要なことのすべてです。参照が期待通りの動作をしないことです。これにはいくつかの回避策がありますが、ここでは、そのうちの一つである、私たちが見つけた最もエレガントで読みやすいものを使用します。