この単純なフィドルは、Window オブジェクトのプロパティを示しています。
var obj = this; // object Window
var variables = "";
for (var name in obj) {
if (obj.hasOwnProperty(name)) {
variables += name + " : " + obj[name] + "<br/>";
}
}
document.writeln(variables);
このスクリプトがラップなしで直接呼び出されると、次の結果が表示されます。
window : [object Window]
document : [object HTMLDocument]
InstallTrigger : [object Object]
obj : [object Window]
variables : window : [object Window] document : [object HTMLDocument] InstallTrigger : [object Object] obj : [object Window]
name : name
getInterface : function getInterface() { [native code] }
location : http://fiddle.jshell.net/_display/
navigator : [object Navigator]
しかし、onload を呼び出すと、以下のみが表示されます。
window : [object Window]
document : [object HTMLDocument]
InstallTrigger : [object Object]
getInterface : function getInterface() { [native code] }
location : http://fiddle.jshell.net/4x3Tx/2/show/
navigator : [object Navigator]
そして、質問は明らかです: 誰かが理由を説明できobj
ますか? どちらの場合も、は Window オブジェクトを参照します。variables
name
obj