JavaScript

Люди добрые помогие)

Объясните простыми словами что означают эти слова на скриншоте (parent, top, self, frames). До этого я знал что высший объект в иерархии javascript это окно window, потом идёт document, но на скриншота видно что это не так. Умников прошу не писать сюда, не нужно засорять комментарии!
:) :) :) Смешно Function объект нулевого уровня :) :) :)

top.__proto__+''; //"[object Window]"
top.__proto__.__proto__+''; //"[object WindowProperties]"
top.__proto__.__proto__.__proto__+''; //"[object EventTarget]"
top.__proto__.__proto__.__proto__.__proto__+''; //"[object Object]"

Function.__proto__+''; //"function () { [native code] }"
Function.__proto__.__proto__+''; //"[object Object]"

Код говорит сам за себя что объект нулевого уровня это сам Object  :) :) :)

Александр Гарбуз
Александр Гарбуз
66 740
Лучший ответ
Борис Савицкий Не тупи. Вопрос об иерархии объектов, а не наследования (прототипов). Это совершенно разные вещи.
Когда подрастешь и научишься - возможно узнаешь, чем отличается экземпляр от его прототипа.
JavaScript позволяет писать не только веб-приложения. Объект Window в JavaScript наследует необходимые ему свойства от объекта Global, экземпляры которого из JavaScript создавать запрещено. Он, вроде суслика, его не видно, но он есть! :)
Дима Ким
Дима Ким
66 018
parent - родительское окно
top - самое верхнее окно
self - текущее окно
frames - список фреймов окна
Tolibjon Majidov
Tolibjon Majidov
57 934
Илья Трошкин Спасибо, но можете написать пример использования этих окон или что-то в этом роде?
Эти слова - имена свойств суперглобального объекта (на который указывает глобальная переменная window). Данные свойства указывают на экземпляры объектов интерфейса Window, которые есть в документе. Более подробная информация по каждому свойству есть в справочниках и спецификации DOM.

Хоть window и является самым верхним объектом в иерархии DOM - в общей иерархии, это объект первого уровня (а объект нулевого уровня, насколько помню, это экземпляр Function, который не присвоен какой-либо публичной переменной - то есть, он "безымянный")... и чисто для простоты, принято считать что выше window ничего нет.
Напомню, что window есть только в браузерном JS. Для полноты понимания, желательно взглянуть также на node.js, где вместо браузерных API подключены другие (конкретно DOM, в node просто отсутствует).
Uz Bek
Uz Bek
92 301