06. Global Environment
Глобальный объект, или объекты в глобальном пространстве, это обычные объекты/функции JavaScript, которые доступны из любого места в JS коде. Технически говоря, они являются свойствами глобального объекта (isNaN === window.isNaN = true).
При запуске интерпретатора JS (или когда веб-броузер загружает новую страницу), создается новый глобальный объект, для которого инициализируется начальный набор свойств, определяющих:
глобальные свойства, такие как
undefined,InfinityиNaN;глобальные функции, такие как
isNaN(), parseInt()функции-конструкторы, такие как
Date(), RegExp(), String(), Object() и Array()глобальные объекты, такие как
MathиJSON.
В программном коде верхнего уровня, т. е. в JS-коде, который не является частью функции, сослаться на глобальный объект можно посредством ключевого слова this: const global = this;.
В зависимости от окружения, где выполняется JS глобальный объект будет отличаться:
Browser Global: объект
windowклассаWindow.Node Global: объект
global.
Global values
undefined-- отсутствие значенияnull-- пустой объектInfinity-- числовая бесконечностьNaN-- не число
Global functions:
eval()-- вычисляет строку, содержащую JS код, оказывая эффект на окружающий исполнительный контекст.isFinite()-- определяет, что число является конечным.isNaN()-- определяет, является ли переданное числоNaNвыполняя при этом приведение типов (пытается привести аргумент к числу). В настоящее время стоит использовать ES6+ версию этой функцииNubmer.isNaN(), которая не выполняет приведение типа аргумента к числу.parseFloat(arg)-- преобразовывает аргумент в число с плавающей точкой, пытаясь выполнить при этом приведение типов. ES6+ Deprecated, используйтеNumber.parseFloat.parseInt(arg)-- преобразовывает аргумент в целое число, пытаясь выполнить при этом приведение типов. ES6+ Deprecated, используйтеNumber.parseInt.decodeURI(uri)--- Возвращает копию аргументаuri, в которой все шестнадцатеричные управляющие последовательности заменены на символы, которые они представляют. Она выполняет действие, обратное действию функцииencodeURI().decodeURIComponent()--- декодирует управляющие последовательности символов в компоненте URI. Возвращает копию аргумента s, в которой шестнадцатеричные управляющие последовательности заменены представляемыми ими символами.encodeURI()--- Выполняет кодирование URI с помощью управляющих последовательностей.
> encodeURIComponent('http://example.com/Für Elise/') // 'http%3A%2F%2Fexample.com%2FF%C3%BCr%20Elise%2F'
> encodeURI('http://example.com/Für Elise/') // 'http://example.com/F%C3%BCr%20Elise/'Эти функции стоит использовать в качестве крайней необходимости.
globalThis object
globalThis objectГлобальное свойство globalThis содержит значение глобального this, который является глобальным объектом.
Свойство globalThis даёт возможность стандартного доступа к глобальному значению this (и как следствие, к глобальному объекту) вне зависимости от окружения.
В отличии от похожих свойств, таких как window и self, оно гарантирует работу как в среде, где есть window, так и в среде, где его нет.
Last updated
Was this helpful?