JavaScript предоставляет глобальный объект , который имеет набор свойств, функций и объектов, доступ к которым осуществляется глобально, без пространства имен.
Свойства являются:
Бесконечностьбабушкане определено
Функции заключаются в следующем:
декодиРУЙ()Декодирующий компонент()Кодировка()Кодирующий компонент()оценка()бесконечный()исНаН()Парсефлот()Синтаксический анализ()
Это объекты:
- Массив
Логический- Дата
Функция- JSON
- Математика
- Номер
- Объект
- Регулярное выражение
- Строка
- Символ
и ошибки:
ОшибкаОшибка оценкиОшибка диапазонаОшибка ссылкиСинтаксическая ошибкаОшибка типаОшибка Url
Я описываю ошибки в этом справочном посте об ошибках JavaScript.
Давайте теперь опишем здесь глобальные свойства и функции.
Бесконечность
Бесконечность в JavaScript – это значение, которое представляет бесконечность .
Положительная бесконечность. Чтобы получить отрицательную бесконечность, используйте оператор – : - Бесконечность .
Они эквивалентны Числу. ПОЛОЖИТЕЛЬНАЯ_ИНФИНИТНОСТЬ и Номер. ОТРИЦАТЕЛЬНАЯ_ИНФИНИТНОСТЬ .
Добавление любого числа в Бесконечность , или умножение Бесконечность для любого числа все равно дает Бесконечность .
бабушка
Глобальное значение NaN является аббревиатурой , а не числом . Он возвращается такими операциями, как деление нуля на ноль, недопустимые операции parseInt() или другие операции.
parseInt() //NaN
parseInt('a') //NaN
0/0 //NaN
Особая вещь, которую следует учитывать, заключается в том, что Значение NaN никогда не равно другому значению NaN . Вы должны использовать глобальную функцию isNaN() , чтобы проверить, соответствует ли значение NaN :
NaN === NaN //false 0/0 === NaN //false isNaN(0/0) //true
не определено
Глобальное неопределенное свойство содержит примитивное значение неопределенное .
Выполнение функции, которая не указывает возвращаемое значение, возвращает неопределенное :
const test = () => {}
test() //undefined
В отличие от NaN , мы можем сравнить неопределенное значение с неопределенным и получить значение true:
undefined === undefined
Обычно используется оператор typeof , чтобы определить, является ли переменная неопределенной:
if (typeof dog === 'undefined') {
}декодиРУЙ()
Выполняет противоположную операцию encodeURI()
Декодирующий компонент()
Выполняет противоположную операцию encodeURIComponent()
Кодировка()
Эта функция используется для кодирования полного URL-адреса. Он кодирует все символы в их HTML-сущности, за исключением тех, которые имеют особое значение в структуре URI, включая все символы и цифры, плюс эти специальные символы:
~!@#$&*()=:/,;?+-_.
Пример:
encodeURI("http://flaviocopes.com/ hey!/")
//"http://flaviocopes.com/%20hey!/"
Кодирующий компонент()
Аналогично encodeURI() , encodeURIComponent() предназначен для выполнения другой работы.
Вместо того, чтобы использоваться для кодирования всего URI, он кодирует часть URI.
Он кодирует все символы в их HTML-сущности, за исключением тех, которые имеют особое значение в структуре URI, включая все символы и цифры, плюс эти специальные символы:
-_.!~*'()
Пример:
encodeURIComponent("http://www.example.org/a file with spaces.html")
// "http%3A%2F%2Fwww.example.org%2Fa%20file%20with%20spaces.html"
оценка()
Это специальная функция, которая принимает строку, содержащую код JavaScript, и вычисляет/запускает ее.
Эта функция используется очень редко и по определенной причине: она может быть опасной.
Я рекомендую прочитать эту статью на эту тему.
бесконечный()
Возвращает значение true, если значение, переданное в качестве параметра, является конечным.
isFinite(1) //true isFinite(Number.POSITIVE_INFINITY) //false isFinite(Infinity) //false
исНаН()
Возвращает значение true, если значение, переданное в качестве параметра, равно NaN .
isNaN(NaN) //true
isNaN(Number.NaN) //true
isNaN('x') //true
isNaN(2) //false
isNaN(undefined) //true
Эта функция очень полезна, потому что значение NaN никогда не равно другому значению NaN . Вы должны использовать глобальную функцию isNaN() , чтобы проверить, соответствует ли значение NaN :
0/0 === NaN //false isNaN(0/0) //true
Парсефлот()
Как parseInt() , parseFloat() используется для преобразования строкового значения в число, но сохраняет десятичную часть:
parseFloat('10,000', 10) //10 ❌
parseFloat('10.00', 10) //10 ✅ (considered decimals, cut)
parseFloat('10.000', 10) //10 ✅ (considered decimals, cut)
parseFloat('10.20', 10) //10.2 ✅ (considered decimals)
parseFloat('10.81', 10) //10.81 ✅ (considered decimals)
parseFloat('10000', 10) //10000 ✅
Синтаксический анализ()
Эта функция используется для преобразования строкового значения в число.
Другим хорошим решением для целых чисел является вызов функции parseInt() :
const count = parseInt('1234', 10) //1234
Не забывайте о втором параметре, который является основанием, всегда 10 для десятичных чисел, иначе преобразование может попытаться угадать основание и дать неожиданные результаты.
parseInt() пытается получить число из строки, которая содержит не только число:
parseInt('10 lions', 10) //10
но если строка не начинается с числа, вы получите NaN (Не число):
parseInt("I'm 10", 10) //NaN
Кроме того, так же, как и номер, он ненадежен с разделителями между цифрами:
parseInt('10,000', 10) //10 ❌
parseInt('10.00', 10) //10 ✅ (considered decimals, cut)
parseInt('10.000', 10) //10 ✅ (considered decimals, cut)
parseInt('10.20', 10) //10 ✅ (considered decimals, cut)
parseInt('10.81', 10) //10 ✅ (considered decimals, cut)
parseInt('10000', 10) //10000 ✅
Оригинал: “https://flaviocopes.com/javascript-global-object/”