windowを介してグローバルに変数を宣言するのはかなり初めてなので、次のスニペットがブラウザーによって異なる動作をすることに少し驚きました。
window.test = "Good";
document.write(window.test);
document.write('<br>');
document.write(window.test);
document.write('<br>');
document.write(test);
Firefox、IE、オペラ
良い
未定義
良い
クロームとサファリ
良い
良い
良い
私の最初の信念は、Chrome や Safari と同じように動作するはずだったのですが、 windowオブジェクトを正しく理解していない可能性があることに気付いたので、詳しい人がこれを説明してくれませんか?
var test = "Good";
そのスコープに使用できることはわかっていますが、ブラウザーがそれを異なる方法で処理する理由に興味があります。