7cc@はてなブログ

JavaScriptとかとか

JavaScriptでグローバル変数になるものの、優先順位

window.fooになるもの。
id属性のある要素や、name属性のあるiframeもグローバル変数になる。

グローバル変数 > 組み込みプロパティ > Iframe[name=foo] > element[id=foo] > form[name=foo]

組み込みプロパティ = window.alertとか。
window.topのように上書きされないプロパティもある。

  • 出現順は関係ないっぽい
  • ブラウザの差はこのケースでは考えても意味が無いので未調査
  • <iframe><frame>はたぶん同じ。
  • 要素などはgetElementByIdなどDOMメソッドを使う

iframeのwindowをwindow.mainで取ろうと思ったら、function main(){}に上書きされてたよねっていう。個人の趣味サイトではまだまだ現役ですね。