SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【javascript】グローバルオブジェクト


制御が任意の実行コンテキストに入る前に生成される、一意的な グローバルオブジェクトが存在する。
(仕様書より)

そして

HTML 文書オブジェクトモデルにおけるグローバルオブジェクトの window プロパティは、グローバルオブジェクトそれ自身である。
(仕様書より)

というわけで、ブラウザで実行するjavascriptにおいては、よくグローバル変数って呼んでいるのは、windowオブジェクトのプロパティのこと。

だから、こういう書き方ができる。

    var x = 3
    alert(x) // 3
    alert(window.x) // これも3

    function b()
    {
        alert("bbbbb")
    }

    window.b() //ちゃんと定義されている。実行されて bbbbb という。

    //ちなみにプロパティは[]で呼び出すこともできるので、これもあり
    alert(window["x"])
    window["b"]()

    //これもあり
    window["alert"]("global function")

関連するメモ

コメント