私はこのコードを、EaselJSライブラリの例で使っています。それは、createjsライブラリ全体の名前空間を "window"に割り当てているのです。Javascriptの名前空間をWindowに設定する:悪い考えですか?またはブリリアント?
<script>
var createjs = window;
</script>
私の質問はこれです: は、ウィンドウには本当にばかなアイデアをライブラリの名前空間を設定していますか?すべての名前空間変数を突然グローバルスコープにすることによって、名前空間を使用するという全体的な点を取り除くだけではありませんか?
私が見ることができる唯一の利点は、オブジェクトに短いコンストラクタを書くことができることです。たとえば、タイピング:
stage = new Stage(canvas);
の代わり:
stage = new createjs.Stage(canvas);
は、これは悪い考えです、またはで何とか華麗な、あるいは単に無害風変わりなのですか?
'createjs'の範囲を変更することができます。私はそれが本当にそれのように見たことがない。 – Blender
グローバルでない場合は、他にどのように公開しますか? –
@ user1689607 - その名前空間。私が理解していることは、グローバルオブジェクトとして公開したくないということです。それが存在する理由です。変数の命名の衝突の変更を減らす。しかし、私は確信していません:したがって、質問です。 –