Какое свойство объекта window ссылается на объект окна navigator
В браузерах роль глобального объекта играет объект Window. К нему нельзя обратиться напрямую, однако он имеет свойство window, ссылающееся на сам объект, которое можно использовать вместо ключевого слова this для ссылки на глобальный объект. Все переменные и функции, объявленные глобально, становятся его свойствами и методами:
var num = 15;
function sayNum() {
alert(this.num);
}
alert(window.num); // 15
sayNum(); // 15
window.sayNum(); // 15
Несмотря на то что глобальные переменные становятся свойствами объекта Window, между ними и объявленными свойствами непосредственно для объекта Window есть небольшое различие. Глобальные переменные нельзя удалить с помощью оператора delete, а свойства, определённые непосредственно для объекта Window, можно:
var num = 10;
window.num2 = 15;
delete window.num; // false
delete window.num2; // true
alert(window.num); // 10
alert(window.num2); // undefined
Таким образом, добавление свойства непосредственно для объекта Window равносильно созданию глобальной переменной без ключевого слова var.
У свойств, добавленных в JavaScript к объекту Window с помощью ключевого слова var, атрибут [[Configurable]] имеет значение false, поэтому их нельзя удалить, используя оператор delete.
Методы
Метод | Описание |
---|---|
alert() | Выводит модальное диалоговое окно с сообщением и кнопкой OK. |
atob() | Декодирует строку данных, которая была закодирована с использованием кодировки base-64. |
btoa() | Создает строку ASCII в кодировке base-64 из строки бинарных данных. |
clearInterval() | Отменяет выполнение действий, заданных с помощью метода setInterval(). |
clearTimeout() | Отменяет выполнение действий, заданных с помощью метода setTimeout(). |
close() | Закрывает окно, которое было открыто с помощью метода window.open(). |
confirm() | Отображает модальное диалоговое окно, содержащее сообщение и кнопки ОК и Отмена. |
focus() | Устанавливает фокус на текущее окно. |
moveBy() | Перемещает текущее окно на заданную величину. |
moveTo() | Перемещает окно в соответствии с указанными координатами. |
open() | Создает и открывает новое окно. |
print() | Печатает содержимое текущего окна. |
prompt() | Отображает диалоговое окно с сообщением и полем ввода для пользователя. Возвращает строку, содержащую введенные данные. |
resizeBy() | Изменяет текущее окно на определенную величину. |
resizeTo() | Изменяет размер окна до указанной ширины и высоты. |
scrollBy() | Прокрутка документа в окне на указанное количество пикселей. |
scrollTo() | Прокрутка документа до указанных координат. |
setInterval() | Вызывает функцию или вычисляет выражение в определенные промежутки времени (в миллисекундах). |
setTimeout() | Вызывает функцию или вычисляет выражение после указанного числа миллисекунд. |
stop() | Останавливает загрузку окна. |
Свойства
Свойство | Описание |
---|---|
closed | Возвращает логическое значение, указывающее закрыто окно или открыто. |
document | Возвращает объект Document текущего окна. |
frames | Возвращает массив со всеми элементами <iframe> текущего окна. |
history | Возвращает ссылку на объект History. |
innerHeight | Возвращает высоту области просмотра окна. |
innerWidth | Возвращает ширину области просмотра окна. |
lenght | Возвращает количество <iframe> элементов в окне. |
location | Возвращает ссылку на объект Location. |
name | Задает или получает значение, указывающее имя окна. |
navigator | Возвращает ссылку на объект Navigator. |
opener | Задает или получает ссылку на окно, которое было создано в текущем окне. |
outerHeight | Возвращает внешнюю высоту окна, включая панели инструментов и полосы прокрутки. |
outerWidth | Возвращает внешнюю ширину окна, включая панели инструментов и полосы прокрутки. |
pageXOffset | Возвращает количество пикселей, на которое текущий документ был прокручен (по горизонтали) от верхнего левого угла окна. |
pageYOffset | Возвращает количество пикселей, на которое текущий документ был прокручен (по вертикали) от верхнего левого угла окна. |
parent | Возвращает родительское окно текущего окна. |
screen | Возвращает ссылку на объект Screen, связанный с окном. |
screenLeft | Получает x-координату верхнего левого угла окна относительно верхнего левого угла экрана. |
screenTop | Получает y-координату верхнего угла окна, по отношению к верхней части экрана. |
scrollX | Эквивалент свойства pageXOffset. |
scrollY | Эквивалент свойства pageYOffset. |
self | Извлекает ссылку на текущее окно или фрейм. |
status | Получает/устанавливает текст в строке состояния в нижней части браузера. |
Главная / Интернет-технологии /
Основы JavaScript / Тест 8
Упражнение 1:
Номер 1
Какие строки кода писать не рекомендуется?
Ответ:
 (1)
<button onclick=»document.getElementById(‘lamp’).backgroundColor = ‘yellow'»>
Жми сюда, чтобы включить лампу!</button>
<div id=’lamp’>O</div>
 
 (2)
var x = getMagicNumber();
function getMagicNumber()
{ return 117; }
 
 (3)
var stroka = «This is stroka!»;
alert(stroka);
 
Номер 2
Какие строки кода работать не будут?
Ответ:
 (1)
var x = getMagicNumber(); // ОШИБКА! getMagicNumber не определена!
var getMagicNumber = function() { return 117; }
 
 (2)
var x = getMagicNumber();
function getMagicNumber() { return 117; }
 
 (3)
headlineElement.innerHTML = «Пожалуйста, подождите…»;
function doTheWork() {
performLongRunningCalculation();
headlineElement.innerHTML = «Закончено!»;
}
setTimeout(doTheWork, 0);
 
Номер 3
Какие строки кода успешно выполнятся?
Ответ:
 (1)
var x = getMagicNumber(); // ОШИБКА! getMagicNumber не определена!
var getMagicNumber = function() { return 117; }
 
 (2)
var x = getMagicNumber();
function getMagicNumber() { return 117; }
 
 (3)
headlineElement.innerHTML = «Пожалуйста, подождите…»;
function doTheWork() {
performLongRunningCalculation();
headlineElement.innerHTML = «Закончено!»;
}
setTimeout(doTheWork, 0);
 
Упражнение 2:
Номер 1
Какое свойство не имеет объект document?
Ответ:
 (1) parentNode 
 (2) childNodes 
 (3) appendChild 
Номер 2
Какие свойства содержат объект document?
Ответ:
 (1) parentNode 
 (2) childNodes 
 (3) appendChild 
Номер 3
Какой метод, служит для добавления элемента в HTML код?
Ответ:
 (1) parentNode 
 (2) childNodes 
 (3) appendChild 
Упражнение 3:
Номер 1
Объекты, отвечающие, что содержится на Web-странице в окне браузера называются:
Ответ:
 (1) пользовательскими 
 (2) встроенными 
 (3) клиентскими 
Номер 3
Объекты, созданные программистом в процессе написания сценария, называются:
Ответ:
 (1) пользовательскими 
 (2) встроенными 
 (3) серверными 
Упражнение 4:
Номер 1
Какой метод объекта Object осуществляет преобразование объекта в строку символов?
Ответ:
 (1) toString() 
 (2) valueOf() 
 (3) assign() 
Номер 2
Какой метод объекта Object позволяет получить значение объекта?
Ответ:
 (1) toString() 
 (2) valueOf() 
 (3) assign() 
Номер 3
Какой метод объекта Object может перенаправить пользователя на новую страницу?
Ответ:
 (1) toString() 
 (2) valueOf() 
 (3) assign() 
Упражнение 5:
Номер 1
Какой объект, из ниже перечисленных, создаcтся только в момент открытия окна?
Ответ:
 (1) navigator 
 (2) Frame 
 (3) Window 
Номер 2
Какое свойство объекта window ссылается на объект окна navigator?
Ответ:
 (1) location 
 (2) navigator 
 (3) screen 
Номер 3
Какое свойство объекта window ссылается на глобальный объект event?
Ответ:
 (1) location 
 (2) event 
 (3) document 
Упражнение 6:
Номер 1
Что из ниже перечисленного будет являться коллекцией всех HTML-элементов вида <P>?
Ответ:
 (1) document.getElementsById(‘P’) 
 (2) document.getElementsByTagName(‘P’) 
 (3) document.getElementsByName(‘P’) 
Номер 2
Какая строка кода выдаст тот HTML-элемент, который будет иметь ID=»serv»?
Ответ:
 (1) document.getElementsByTagName(‘serv’) 
 (2) document.getElementById(‘serv’) 
 (3) document.getElementsByName(‘serv’) 
Номер 3
Какая строка кода выдаст коллекцию HTML-элементов любых типов, у которых будет задан атрибут NAME=»servis»?
Ответ:
 (1) document.getElementsByTagName(‘servis’) 
 (2) document.getElementById(‘servis’) 
 (3) document.getElementsByName(‘servis’) 
Упражнение 7:
Номер 1
Какой оператор служит для создания нового экземпляра из класса однотипных объектов?
Ответ:
 (1) this 
 (2) new 
 (3) prototype 
Номер 2
Какой указатель используется для указания на то, что мы находимся внутри объекта?
Ответ:
 (1) this 
 (2) new 
 (3) prototype 
Номер 3
Какое ключевое слово указывает откуда брать прототип при создании объекта?
Ответ:
 (1) this 
 (2) new 
 (3) prototype 
Упражнение 8:
Номер 1
Какие свойства относятся к свойствам объекта window?
Ответ:
 (1) length 
 (2) name 
 (3) opener 
Номер 2
Какие свойства относятся к свойствам объекта frames?
Ответ:
 (1) length 
 (2) name 
 (3) opener 
Номер 3
Какие свойства относятся к объекту history?
Ответ:
 (1) length 
 (2) name 
 (3) opener 
Упражнение 9:
Номер 1
Правда, что следующие два варианта создания объекта эквивалентны?
var o = new Object()
var o = {}
Ответ:
 (1) да, они эквивалентны 
 (2) нет, они не эквивалентны 
 (3) это два разных описания объекта 
Номер 2
Правда, что следующие два варианта добавления свойств в объект эквивалентны?
o.test = 5
o[«test»] = 5
Ответ:
 (1) да, они эквивалентны 
 (2) нет, они не эквивалентны 
 (3) это два разных варианта добавления объекта 
Упражнение 10:
Номер 1
Что такое ассоциативный массив?
Ответ:
 (1) это объекты, используемые с синтаксисом массивов 
 (2) это переменные в виде массивов 
 (3) это функции основанные на массивах 
Номер 2
Что такое узел в DOM-модели?
Ответ:
 (1) это объекты 
 (2) это HTML-тег 
 (3) это функции 
Номер 3
Что такое html в DOM-модели?
Ответ:
 (1) элемент 
 (2) не является элементом 
 (3) корневой элемент 
Упражнение 11:
Номер 1
Пользовательские объекты — это:
Ответ:
 (1) объекты созданные программистом, которые имеют структуру и сущность 
 (2) объекты предлагаемые самим языком 
 (3) объекты браузера, не являющиеся частью языка JavaScript 
Номер 2
Что такое DOM-объект?
Ответ:
 (1) объекты созданные программистом, которые имеют структуру и сущность 
 (2) объекты предлагаемые самим языком 
 (3) объекты документа определенной консорциумом W3C 
Номер 3
Что такое объекты браузера?
Ответ:
 (1) объекты созданные программистом, которые имеют структуру и сущность 
 (2) объекты, не являющиеся частью языка JavaScript 
 (3) объекты, являющиеся частью языка JavaScript 
Упражнение 12:
Номер 1
Если при добавлении свойства в объект ставятся квадратные скобки, то:
Ответ:
 (1) название свойства находится в переменной 
 (2) название свойства находится в функции 
 (3) свойство является значением переменной 
Номер 2
Если объект не имеет свойства, то результат будет:
Ответ:
 (1) 0 
 (2) null 
 (3) undefined 
Номер 3
Какой вид имеет инициализатор объекта?
Ответ:
 (1) {свойство:значение [,свойство:значение]?} 
 (2) var имя = new Function ([аргументы,]? операторы) 
 (3) new Object(значение?) 
Количество просмотров: 1321
Здесь будут рассмотрены несколько объектов — это navigator, screen и location.
Все эти объекты является дочерними по отношению к глобальному объекту Window.
Доступ к ним осуществляется как к свойствам объекта Window, то есть через точку.
Объект navigator — информация о браузере и о ОС
Объект navigator содержит информацию о браузере пользователя (в частности — доступно ли использование cookie файлов и включена ли поддержка Java).
Также объект navigator позволяет определить тип операционной системы.
Для удобства работы с объектом navigator выведем все его свойства на экран. Вспоминаем материал из предыдущего урока.
<script type=»text/javascript»>
var any; /* Произвольная переменная */
/* Цикл по свойствам для объекта navigator */
for(any in navigator)
{
document.write(any + «<br />»);
}
</script>
Далее, при помощи свойств объекта navigator получим и выведем на экран
следующие данные:
— информацию о браузере — свойство userAgent;
— язык браузера — свойство language;
— название операционной системы — свойство oscpu;
— включены ли куки — свойство cookieEnabled;
— подключен ли пользователь к сети Интернет — свойство onLine.
Доступ к свойствам объекта navigator осуществляется через точку.
<script type=»text/javascript»>
document.write(«Название браузера: » + navigator.userAgent + «<br />»);
document.write(«Язык браузера: » + navigator.language + «<br />»);
document.write(«Название ОС: » + navigator.oscpu + «<br />»);
document.write(«Включены ли куки: » + navigator.cookieEnabled + «<br />»);
document.write(«Подключение к сети: » + navigator.onLine + «<br />»);
</script>
Объект screen — Разрешение экрана пользователя
Объект screen поможет получить данные о разрешении экрана пользователя, о глубине цвета и др.
С объектом screen поступим аналогично: сначала выведем на экран все его свойства.
<script type=»text/javascript»>
var any; /* Произвольная переменная */
/* Цикл по свойствам для объекта screen */
for(any in screen)
{
document.write(any + «<br />»);
}
</script>
Теперь при помощи свойств height и width объекта screen получим информацию:
о разрешении экрана — его высоте и ширине в пикселях. А также о битовой глубине цветовой палитры — свойство colorDepth.
<script type=»text/javascript»>
document.write(«Высота экрана: » + screen.height + «px <br />»);
document.write(«Ширина экрана: » + screen.width + «px <br />»);
document.write(«Глубина цвета: » + screen.colorDepth + «<br />»);
</script>
Объект location — текущий URL-адрес
Объект location возвращает URL-адрес текущего окна пользователя.
А также содержит данные о частях и компонентах текущего адреса: имя хоста, номер порта, протокол и т.д.
Свойства объекта location.
<script type=»text/javascript»>
var any; /* Произвольная переменная */
/* Цикл по свойствам для объекта location */
for(any in location)
{
document.write(any + «<br />»);
}
</script>
Воспользуемся свойством href объекта location, чтобы вывести на экран URL-адрес текущего документа.
<script type=»text/javascript»>
document.write(«URL-адрес: » + location.href);
</script>
Домашнее задание
Выполним домашнее задание по этому уроку.
Выясните, с какого браузера человек зашел на вашу страничку и, в зависимости от браузера,
выведите на экран:
Если firefox: «Ваш браузер Firefox.»
Если opera: «Ваш браузер Opera.»
Если chrome: «Ваш браузер Chrome.»
Для решения этого домашнего задания нужно:
ШАГ
При помощи свойства userAgent объекта navigator получить информацию о текущем браузере.
На момент решения этой задачи я получил следующие данные о браузерах Firefox, Opera и Chrome.
Firefox
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0
Opera
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 OPR/48.0.2685.39
Chrome
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
ШАГ
При помощи регулярных выражений найти названия браузеров из информации о них.
См. также уроки о регулярных выражениях в теме «Свойства и методы строковых объектов».
ШАГ
При помощи метода match вернуть совпадения и составить условия if-else.
Обратите внимание: название Chrome присутствует не только в описании браузера Chrome, но и в данных о браузере Opera!!!
Этот момент нужно будет учесть при составлении условий.
Следует также напомнить: если метод match не находит совпадений, то он возвращает null.
<script type=»text/javascript»>
var browsers = navigator.userAgent; /* Информация о текущем браузере */
/* Составляем регулярные выражения для поиска совпадений в данных о браузере */
var regV_1 = /firefox/i; /* i — регистронезависимый шаблон */
var regV_2 = /chrome/i;
var regV_3 = /opr/i;
/* Составляем условия */
if (browsers.match(regV_1) != null)
{
document.write(«Ваш браузер — Firefox»);
}
/* Здесь учитываем, что Chrome присутствует в описании для Opera */
else if(browsers.match(regV_2) != null && browsers.match(regV_3) != «OPR»)
{
document.write(«Ваш браузер — Chrome»);
}
else if(browsers.match(regV_3) != null)
{
document.write(«Ваш браузер — Opera»);
}
else
{
document.write(«Вы используете НЕ известный браузер»);
}
</script>