私はjsフレームワーク「Sencha」についてDavidMarkから次の分析を読んでいました:https ://gist.github.com/3279190そしてそこで彼は述べています...
彼らが望んでいたのはグローバル変数でしたが、最終的にはグローバルオブジェクトのプロパティになりました。仕様と(および実装履歴)によると、2つの間に十分な違いがあり、それらを混同しないように注意する必要があります(ここで行われているように)。
...しかし、私が知っている限り、var my_global = 123;
と(ブラウザ環境では)の間に違いはありませんでしたwindow.my_global = 123;
(この例では、環境はブラウザであると想定していました-したがって、を使用しましたが、明らかに代わりにwindow
使用することもできましたthis.my_global
異なる環境で実行すると、グローバルオブジェクトは異なります)。
しかし、その小さな不一致を無視すると、グローバルオブジェクトへのプロパティの割り当てとグローバル変数の作成に違いがありますか?私はそうは思いませんでした。グローバル変数を作成することは、プロパティをグローバルオブジェクトに割り当てるもう1つの方法でした。
一部のブラウザで「my_global」のIDを持つ要素がある場合、問題が発生する可能性があると思います。これにより、JavaScriptが正しいものを参照する際に問題が発生する可能性がありますが、その問題の原因/原因がわかりません(たとえば、プロパティをグローバルオブジェクトに割り当てると、要素IDの問題が発生しますか、それとも要素IDの問題を引き起こすグローバル変数を宣言しますか?)
誰かが私のためにこれを明確にすることができますか?