Встроенные функции в JavaScript
В этой статье объясняются встроенные функции в JavaScript.
YouTube Video
Встроенные функции в JavaScript
JavaScript предоставляет множество встроенных функций, которые являются мощными инструментами для эффективного создания программ. Здесь мы подробно объясним типичные встроенные функции в JavaScript. Изучив роли, применение и предостережения для каждой функции, вы сможете более эффективно использовать JavaScript.
Что такое встроенные функции?
Встроенные функции — это функции, предоставляемые в JavaScript по умолчанию. Эти функции предназначены для выполнения конкретных задач лаконично. Программистам не нужно реализовывать их самостоятельно, что улучшает читаемость и сопровождаемость кода.
Типичные встроенные функции
parseInt()
1// Convert string to integer
2console.log(parseInt("42")); // Output: 42
3console.log(parseInt("42px")); // Output: 42
4console.log(parseInt("0xF", 16)); // Output: 15
5console.log(parseInt("0xF")); // Output: 15
6console.log(parseInt("px42")); // Output: NaN
-
parseInt()
— это функция, которая анализирует строку и преобразует ее в целое число. Если начало строки содержит число, эта часть возвращается как целое число. Можно также указать необязательную систему счисления (основание). -
Если начало строки не содержит числа, возвращается
NaN
(Не-число). Если система счисления не указана, используется десятичная система по умолчанию, но если строка начинается с "0x", она интерпретируется как шестнадцатеричная.
parseFloat()
1// Convert string to float
2console.log(parseFloat("3.14")); // Output: 3.14
3console.log(parseFloat("3.14abc")); // Output: 3.14
4console.log(parseFloat("42")); // Output: 42
-
parseFloat()
анализирует строку и преобразует ее в число с плавающей точкой. Она используется для обработки чисел, содержащих десятичную точку. -
Как и
parseInt()
, если начало строки не число, возвращаетсяNaN
. Она отличается тем, что корректно анализирует не только целую часть, но и десятичную.
isNaN()
1console.log(isNaN(NaN)); // Output: true
2console.log(isNaN(42)); // Output: false
3console.log(isNaN("hello")); // Output: true
-
isNaN()
определяет, является ли заданное значениеNaN
.NaN
(Не-число) представляет собой недопустимое значение в виде числа. -
isNaN()
также работает с типами данных, отличными от чисел, и, например, возвращаетtrue
, если строку нельзя преобразовать в число.
Number()
1console.log(Number("42")); // Output: 42
2console.log(Number("3.14")); // Output: 3.14
3console.log(Number("0xff")); // Output: 255
4console.log(Number("abc")); // Output: NaN
-
Number()
— это функция, которая преобразует строки или другие типы данных в число. Он возвращаетNaN
, если указана нечисловая строка. -
В отличие от
parseInt()
илиparseFloat()
,Number()
считает это недопустимым преобразованием и возвращаетNaN
, если строка содержит нечисловые символы.
String()
1console.log(String(42)); // Output: "42"
2console.log(String(3.14)); // Output: "3.14"
3console.log(String(true)); // Output: "true"
4console.log(String(null)); // Output: "null"
5console.log(String(undefined)); // Output: "undefined"
String()
— это функция, которая преобразует числа и другие типы данных в строки.String(42)
возвращает строку"42"
.- Если преобразуемое значение — это
null
илиundefined
, функция возвращает строки"null"
или"undefined"
соответственно. - Это полезно для работы с различными типами данных, такими как числа, логические значения или объекты, путем их преобразования в строки.
Array
1const arr = Array(3);
2console.log(arr); // Output: [ <3 empty items> ]
3
4const arr2 = Array(1, 2, 3);
5console.log(arr2); // Output: [1, 2, 3]
Array
— это конструктор, используемый для создания новых массивов.- Если передан один аргумент, он рассматривается как длина массива, и создается пустой массив.
- Если передано несколько аргументов, создается массив с этими значениями в качестве его элементов.
Array.isArray()
1console.log(Array.isArray([1, 2, 3])); // Output: true
2console.log(Array.isArray("not an array")); // Output: false
Array.isArray()
— это метод, который определяет, является ли аргумент массивом.- Метод возвращает
true
, если аргумент является массивом, иfalse
в противном случае.
isFinite()
1console.log(isFinite(42)); // Output: true
2console.log(isFinite(Infinity)); // Output: false
3console.log(isFinite(NaN)); // Output: false
-
isFinite()
определяет, является ли заданное значение конечным. Возвращаетtrue
для конечных чисел иfalse
в противном случае (например, для бесконечности илиNaN
). -
В JavaScript
Infinity
и-Infinity
представляют бесконечность и имеют числовой тип, ноisFinite()
считает бесконечность недопустимым значением.
eval()
1let expression = "2 + 2";
2console.log(eval(expression)); // Output: 4
3
4console.log(eval("var x = 10; x * 2")); // Output: 20
-
eval()
— это функция, которая выполняет JavaScript-код, переданный в виде строки. Вы можете выполнять JavaScript-код динамически. -
eval()
— очень мощная, но представляет опасность для безопасности, поэтому её следует избегать в реальной разработке. Выполнение внешнего кода с помощьюeval()
может привести к нежелательному поведению и уязвимостям в безопасности.
encodeURI()
/ decodeURI()
1let url = "https://example.com/?name=John Doe&age=25";
2let encodedUrl = encodeURI(url);
3console.log(encodedUrl);
4// Output: https://example.com/?name=John%20Doe&age=25
5
6let decodedUrl = decodeURI(encodedUrl);
7console.log(decodedUrl);
8// Output: https://example.com/?name=John Doe&age=25
-
encodeURI()
— это функция, используемая для кодирования (преобразования) символов, которые нельзя использовать в URL. С другой стороны,decodeURI()
декодирует закодированный URL обратно в его исходный вид. -
Кодирование особенно важно при работе со специальными символами. Например, такие символы, как пробелы или
&
, должны быть закодированы, чтобы корректно включаться в URL, поэтому их необходимо обрабатывать с помощьюencodeURI()
.
setTimeout()
/ setInterval()
1// Execute a function after 2 seconds
2setTimeout(() => {
3 console.log("This runs after 2 seconds");
4}, 2000);
5
6// Execute a function every 1 second
7let intervalId = setInterval(() => {
8 console.log("This runs every 1 second");
9}, 1000);
10
11// Stop the interval after 5 seconds
12setTimeout(() => {
13 clearInterval(intervalId);
14}, 5000);
-
setTimeout()
— это функция таймера, используемая для однократного выполнения функции через заданное время.setInterval()
многократно выполняет функцию через указанные интервалы времени. -
setTimeout()
иsetInterval()
выполняются асинхронно, вызывая функцию после истечения заданного времени. Также можно отменить выполнение с помощьюclearTimeout()
илиclearInterval()
.
Резюме
Использование встроенных функций JavaScript позволяет писать более простые и эффективные программы. Функции, представленные здесь, являются базовыми и полезными в различных ситуациях. Обязательно пишите реальный код и проверяйте его поведение, чтобы углубить своё понимание.
Изучайте более сложные процессы и продвинутые способы использования функций, чтобы ещё больше улучшить свои навыки в JavaScript.
Вы можете следовать этой статье, используя Visual Studio Code на нашем YouTube-канале. Пожалуйста, также посмотрите наш YouTube-канал.