Self Document This Top Window - PullRequest
       0

Self Document This Top Window

4 голосов
/ 27 мая 2011

Допустим, у меня есть некоторый случайный код, как показано ниже:

<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>

Не только в связи с приведенным выше кодом, в чем разница между:
Self, Document, This, Top, Window?

Какой наилучший вариант использования для каждого?

1 Ответ

10 голосов
/ 27 мая 2011

self & window: они оба ссылаются на текущее окно (или фрейм), в котором находится и работает скрипт. См. здесь для деталей и примеров.

document: ссылается на контейнер DOM, предоставляя вам доступ к заголовкам и содержимому тела. См. здесь для деталей и примеров.

this: ссылается на объект JavaScript, под которым выполняется код. Код JavaScript и функции, написанные непосредственно внутри тегов <script>, имеют this, ссылаются на window. Если функции объекта необходимо вызвать метод в том же объекте, используйте this.method_name();.

top: Ссылка на самый верхний объект window в иерархии фреймов. Если вы используете кадры и хотите манипулировать всем окном набора фреймов изнутри субкадра, используйте top, например, top.close();, чтобы закрыть текущее окно, содержащее все кадры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...