Встроенные функции в JavaScript

Встроенные функции в 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-канал.

YouTube Video