自我文档这个顶级窗口

时间:2011-05-26 21:51:05

标签: javascript html dom

假设我有一些随机代码如下:

<script>

    this.fn = (function() {
        var element = document.createElement("div");
        element.innerHTML = Object.keys(self) + 
            "<br />" + Object.keys(window) +
            "<br />" + Object.keys(top);    

        self["document"].body.appendChild(element);
        return arguments.callee;
    })();

</script>

不仅要与上述代码有关,还有什么区别:
SelfDocumentThisTopWindow

每个人的最佳用例是什么?

1 个答案:

答案 0 :(得分:10)

self &amp; window :它们都引用脚本所在和运行的当前窗口(或框架)。有关详细信息和示例,请参阅here

document :引用DOM容器,可以访问标题和正文内容。有关详细信息和示例,请参阅here

this :引用执行代码的JavaScript对象。直接在<script>标记内编写的JavaScript代码和函数this引用window。如果对象的函数需要在同一对象中调用方法,请使用this.method_name();

top :引用框架层次结构中最顶层的window对象。如果您使用框架并想要从子框架内操纵整个框架集窗口,请使用top,例如top.close();关闭包含所有帧的当前窗口。