Базовый курс JavaScript
-
1) console.log(), Переменные
-
2) Типы данных, Операторы
-
3) Условные конструкции
-
4) Объекты, массивы
-
5) Циклы
-
6) Функции. Диалоговые окна
-
7) Результат функции. Стрелочная фукция
-
8) callback, find, filter
-
9) Введение в методы и свойства
-
10) Методы строк и чисел
-
11) Методы массивов
-
12) Работа с DOM
-
13) Элементы,HTMLCollection и NodeList
-
14) Создание, добавление, замена и удаление элементов. Управление атрибутами элементов. Свойство className
-
15) addEventListener()
-
16) window, event
-
17) Работа с формами
-
18) Таймеры. this
-
JSON
-
19) Обработка ошибок
-
20) JSON, Promise, async и await
-
21) callBack()
-
22) fetch
-
7) Взаимодействие с DOM (Document Object Model)
-
23) LocalStorage, sessionStorage
18) Таймеры. this
Функция setTimeout
Для одноразового выполнения действий через промежуток времени предназначена функция setTimeout(). Она может принимать два параметра:
const timerId = setTimeout(someFunction, period)
function printMessage() { console.log("Hello METANIT.COM");}
setTimeout(printMessage, 5000);
Для остановки таймера применяется функция clearTimeout(), в которую передается id таймера:
function printMessage() { console.log("Hello METANIT.COM");}
const timerId = setTimeout(printMessage, 5000);
clearTimeout(timerId);
Функция setInterval
Функции setInterval() и clearInterval() работают аналогично функциям setTimeout() и clearTimeout() с той лишь разницей, что setInterval() постоянно выполняет определенную функцию через промежуток времени.
Например, напишем небольшую программу для вывода текущего времени:
const timer = document.getElementById("timer");
function updateTime() {
const now = new Date();
timer.textContent = `${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}`;
}
setInterval(updateTime, 1000);
Глобальный контекст и объект globalThis
В глобальном контексте this ссылается на глобальный объект. Что такое «глобальный объект» в JavaScript? Это зависит от среды, в которой выполняется код. Так, в веб-браузере this представляет объект window — объект, который представляет окно браузера. В среде Node.js this представляет объект global. А для веб-воркеров this представляет объект self
Например, в веб-браузере при выполнении следующего кода:
console.log(this);
В стандарт ES2020 было добавлено определение объекта globalThis, который позволяет ссылаться на глобальный конекст вне зависимости, в какой среде и в какой ситуации выполняется код:
console.log(globalThis);
Контекст функции
В пределах функции this ссылается на внешний контекст. Для функций, определенных в глобальном контексте, — это объект globalThis.
function foo(){
var bar = "local";
console.log(this.bar);
}
var bar = "global";
foo(); // global
Контекст объекта
В контексте объекта, в том числе в его методах, ключевое слово this ссылается на этот же объект:
const obj = {
bar: "object",
foo: function(){
console.log(this.bar);
}
}
var bar = "global";
obj.foo(); // object