Самостоятельно документируйте это верхнее окно

#javascript #html #dom

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

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

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

Ответ №1:

self amp; window : Они оба ссылаются на текущее окно (или фрейм), где расположен и запущен скрипт. Смотрите здесь подробности и примеры.

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

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

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