DOM:window.window
出典: MDC
[編集] 概要
window オブジェクトの window プロパティは、その window オブジェクトそれ自身を差します。ゆえに、以下の表現は、同じ window オブジェクトを返します:
window.window window.window.window window.window.window.window ...
Web ページでは、window オブジェクトは、グローバルオブジェクト でもあります。これが意味することは、次のことです。:
- スクリプト中のグローバル変数は、実際には、
windowオブジェクトのプロパティです。:var global = {data: 0}; alert(global === window.global); // "true" を表示します。 window.prefix をつけなくても、window オブジェクトの組み込みプロパティにアクセスすることができます。:setTimeout("alert('Hi!')", 50); // window.setTimeout を使用することと同じです alert(window === window.window); // "true" を表示します
そのオブジェクト自身を参照する window プロパティが持っているポイントは、(恐らく)グローバルオブジェクトを参照することが簡単であることです(そうでなければ、var window = this; という代入をスクリプトの一番最初に自分で書かなければならないでしょう)。
別の理由は、このプロパティ無しには、例えば、"window.open('http://google.com/')" と書くことができないということです。そうでなければ、単に、"open('http://google.com/')" と書かなければならないでしょう。
[編集] 仕様
DOM Level 0。どの標準にも属しません。