Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
1

window.document.write и window.alert()

26.08.2010, 21:43. Просмотров 4006. Ответов 8
Метки нет (Все метки)

1)Вот смотрите, window ч точки зрения языка джаваскрипт - это объект, скажите это объект какого класса?Ведь говорят что window это самый главный объект.

2)Прочитал что то, что идёт после точки являеться свойством объекта?
Вот такое например:
window.document.write
Объясните,это что получается главный объект виндоу, содержит
объект документ с методом врайт?

window.document - это объект в объекте чтоли,а какой же тогда класс у этих объектов?
Ведь объекты от класса создаться.

3)window.alert()
Здесь тоже получаеться объект в объекте, а где же класс от которого объект виндоу идёт,
или здесь объект виндоу который содержит метод алерт, но где класс объекта виндоу?
И если алерт это метод, тогда почему если брать такую строку
window.document.write документ это будет не методом а объектом.
4) как может быть объект в объекте в этой строке считаться
window.document.write
а в этой
window.alert() метод в объекте тогда.

Добавлено через 16 минут
почему?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.08.2010, 21:43
Ответы с готовыми решениями:

Ошибка в window.captureEvents(Event.CLICK); window.onClick= handle; function handle(e) { alert(''); return false; }
<script> window.captureEvents(Event.CLICK); window.onClick= handle; function handle(e) { ...

Как применить стиль к методу alert и document.write?
Подскажите как применить стиль (можно и css) к методу alert и document.write. Я знаю что можно и...

window.alert с флагами vbCritical, vbQuestion, vbExclamation, vbInformation
есть такое дело MsgBox с разными таким значками, из javascript'овой объектной модели в...

Передача параметров из form в iframe (action='javascript: window.alert(this); void(0);')
Добрый день. Я пытаюсь передать множество параметров из своей формы в Iframe. А точнее:...

8
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
27.08.2010, 10:17 2
Лучший ответ Сообщение было отмечено как решение

Решение

1)
window - глобальный объект, который создается браузером автоматически при открытии нового окна, вкладки или всплывающего окна. Реализация класса целиком зависит от браузера. Например, в Firefox класс называется (sic!) ChromeWindow, в браузере Google Chrome - DOMWindow, а в IE - банально Window. Это легко определить, запустив консоль Javascript и напечатав window.constructor

2)
Цитата Сообщение от Syltan Посмотреть сообщение
Объясните,это что получается главный объект виндоу, содержит
объект документ с методом врайт?
Совершенно верно.
Цитата Сообщение от Syltan Посмотреть сообщение
window.document - это объект в объекте чтоли,а какой же тогда класс у этих объектов?
Верно. Объект в объекте.
Класс называется HTMLDocument. В данном случае разработчики браузеров "привязаны" к стандарту DOM, поэтому название класса одинаковое для всех браузеров.


Цитата Сообщение от Syltan Посмотреть сообщение
3)window.alert()
Здесь тоже получаеться объект в объекте, а где же класс от которого объект виндоу идёт,
или здесь объект виндоу который содержит метод алерт, но где класс объекта виндоу?
И если алерт это метод, тогда почему если брать такую строку
window.document.write документ это будет не методом а объектом.
4) как может быть объект в объекте в этой строке считаться
window.document.write
а в этой
window.alert() метод в объекте тогда.
Это азы Javascript и его объектной сущности. Любой объект может содержать в себе кучу членов: простые величины (скаляры), другие объекты, а также методы. window.alert(), к примеру - это метод глобального объекта window. А window.document.write() - это метод класса HTMLDocument, от которого образован объект document, который является членом глобального объекта window.

Кстати, идентификатор window можно не писать, потому что это глобальный объект. То есть можно писать просто alert() и document.write()
3
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
27.08.2010, 13:31  [ТС] 3
То есть получается что, если написать так:
Код
window.document
Здесь свойством объекта виндоу является объект документ,
значит внутри объекта виндоу находиться внутренний класс HTMLDocument, который принадлежит какому-то классу в зависимости от браузера как выговорили выше? Если это браузер
Google Chrome - класс DOMWindow, внутри него будет находиться объект с названием документ и одновременно внутри класса DOMWindow будет находится объект документ?
0
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
27.08.2010, 15:06 4
Почти верно.
Только давайте чуть уточним понятия класс и объект.

Класс - это эдакий "чертеж", по которому создается объект.
Объект - это уже сущность. Физически это кусок памяти и набор инструкций, определенный в классе-"чертеже".

По этой аналогии, когда программист описывал класс DOMWindow, он указал, что одним из членов класса будет объект document класса HTMLDocument. На псевдоязыке его код может выглядеть так:
Код
class DOMWindow
{
   // ...
   HTMLDocument document = new HTMLDocument();
   // ...
}
1
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
27.08.2010, 15:37  [ТС] 5
То есть можно написать вот так?
DOMWindow.window.HTMLDocument.document.write();

DOMWindow - это класс для объекта виндоу
HTMLDocument - внутренний класс, класса DOMWindow
document. - объект внутреннего класса HTMLDocument находящегося в классе DOMWindow
0
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
27.08.2010, 18:46 6
Цитата Сообщение от Syltan Посмотреть сообщение
То есть можно написать вот так?
DOMWindow.window.HTMLDocument.document.write();
Нет, нельзя. Ибо бессмыслица:
Объекта DOMWindow не существует, следовательно и ссылаться на него нельзя.

Я ведь поэтому и пытался объяснить, что класс и объект это совершенно разные вещи.
Вникайте.
1
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
27.08.2010, 23:34  [ТС] 7
А вот так написать можно?
.window.HTMLDocument.document.write();
0
Vovan-VE
28.08.2010, 11:27
  #8

Не по теме:

Syltan, Может, хватит изучать устройство Вселенной методом научного тыка?

0
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
29.08.2010, 17:35 9
Цитата Сообщение от Syltan Посмотреть сообщение
А вот так написать можно?
.window.HTMLDocument.document.write();
Нет, конечно. У объекта window нет члена HTMLDocument.

Не по теме:

Я согласен с Vovan-VE и считаю, что дискуссию надо прекратить. Все что было спрошено в этом посте, можно было легко проверить практически. А если вам, Syltan, не хватает теоретических знаний почитайте учебники.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2010, 17:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Window является свойством глобального объекта Window
если объект window является свойством глобального объекта Window, то почему запись: Window.window...

Почему в Opera v12.0 координаты окна браузера относительно экрана window.screenX или window.screenY выдает 0?
Здравствуйте, подскажите пожалуйста почему в Opera v 12.0, координаты окна браузера относительно...

При попытке frame2.document.innerHTML дает: script error, Acces is denied, хотя alert(frame2.document) выдает нормально: [object]
Есть frameset и 2 frame fram1 - грузится моя страница со скриптами frame2 - грузится удаленная...

об alert и write
Здрасте! Чтобы вывести надпись - мы указываем document.write А чтобы вывести модальное окно -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.