Please open Telegram to view this post
VIEW IN TELEGRAM
👍4💯4
<script>
с атрибутом src
. Этот тег обычно размещается внутри <head>
или перед закрывающим тегом </body>
.
<script src="path/to/script.js"></script>
Атрибут
src
указывает путь к файлу скрипта. Если файл находится в той же папке, что и HTML-документ, достаточно указать имя файла. Для файлов в других папках или на внешних ресурсах используется полный или относительный путь.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤩2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Math.round()
округляет число до ближайшего целого. Если дробная часть числа больше или равна 0.5, число округляется вверх, иначе — вниз.
const num1 = 3.7;
const num2 = 3.2;
console.log(Math.round(num1)); // 4
console.log(Math.round(num2)); // 3
Для отрицательных чисел правило аналогично:
-3.7
округляется до -4
, а -3.2
до -3
. Метод всегда возвращает целое число, удаляя дробную часть.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
concat
используется для объединения массивов или добавления элементов в конец массива. Он не изменяет исходный массив, а возвращает новый массив, содержащий результат объединения.
const arr1 = [1, 2];
const arr2 = [3, 4];
const result = arr1.concat(arr2); // [1, 2, 3, 4]
Метод может принимать несколько аргументов, включая массивы или отдельные элементы.
const arr = [1];
const newArr = arr.concat(2, [3, 4]); // [1, 2, 3, 4]
Этот метод полезен, когда требуется создать новый массив без изменения исходных данных.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
setInterval
, можно остановить с помощью функции clearInterval
, передав ей идентификатор, возвращенный setInterval
. Это позволяет прервать выполнение циклического вызова функции.
const intervalId = setInterval(() => {
console.log("Tick");
}, 1000);
clearInterval(intervalId); // Остановка таймера
Идентификатор
intervalId
сохраняется при создании таймера и используется для его остановки. Без вызова clearInterval
таймер будет выполняться бесконечно.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
localStorage.setItem('key', 'value'); // Сохранение данных
const data = localStorage.getItem('key'); // Получение данных
Оба хранилища доступны только в рамках одного источника (протокол, домен, порт) и поддерживают только строковые данные. Для работы с объектами необходимо использовать JSON.stringify и JSON.parse.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
var
, hoisting поднимает только объявление, но не инициализацию, что может привести к undefined
.
console.log(x); // undefined, так как объявление поднято, но не значение
var x = 5;
foo(); // "Hello", функция поднята полностью
function foo() {
console.log("Hello");
}
Для
let
и const
hoisting также происходит, но доступ к переменным до объявления вызывает ошибку.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
Добавить свойство в объект можно несколькими способами. Через точечную нотацию:
const obj = {};
obj.name = "John"; // Добавление свойства name
Или через квадратные скобки:
obj["age"] = 30; // Добавление свойства age
Также свойства можно добавить при создании объекта:
const obj = { name: "John", age: 30 };
Эти способы позволяют динамически изменять структуру объекта.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Функция
Number()
преобразует строку в число, включая числа с плавающей точкой:
const num = Number("42"); // 42
Метод
parseInt()
преобразует строку в целое число, игнорируя нечисловые символы:
const int = parseInt("42px"); // 42
Метод
parseFloat()
преобразует строку в число с плавающей точкой:
const float = parseFloat("42.5"); // 42.5
Также можно использовать унарный оператор
+
:
const num = +"42"; // 42
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
event.stopPropagation()
останавливает всплытие события по DOM-дереву, предотвращая его обработку родительскими элементами.
document.querySelector('a').addEventListener('click', function(event) {
event.preventDefault(); // Отменяет переход по ссылке
event.stopPropagation(); // Останавливает всплытие
});
Эти методы полезны для управления поведением событий и предотвращения нежелательных действий.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
const element = document.getElementById('example');
element.textContent = 'Hello, DOM!';
DOM позволяет изменять структуру, стили и содержимое документа динамически с помощью JavaScript. Это основа для интерактивных веб-приложений.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Promise.all
также завершится с ошибкой.
Promise.all([promise1, promise2])
.then(results => console.log(results));
Promise.race
возвращает промис, который завершается, как только завершается первый промис из массива, независимо от его результата (успех или ошибка).
Promise.race([promise1, promise2])
.then(result => console.log(result));
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
NaN (Not a Number) — это значение, представляющее результат неопределенной или невыполнимой математической операции, например деления нуля на ноль или попытки преобразования строки в число.
Проверка на NaN:
Использовать оператор строгого равенства (===) для проверки на NaN нельзя, так как NaN не равно ничему, включая себя. Вместо этого применяю
Разница между функциями:
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ JS собеседования
Проверка на NaN:
Использовать оператор строгого равенства (===) для проверки на NaN нельзя, так как NaN не равно ничему, включая себя. Вместо этого применяю
т функц
ию isNaN() или Numb
er.isNaN().
const value = NaN;
console.log(isNaN(value)); // true
console.log(Number.isNaN(value)); // true
Разница между функциями:
isNaN()
пытается преобразовать значение в число перед проверкой, а Number.isNaN()
проверяет, является ли значение именно NaN без преобразования.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Поверхностное копирование создает новый объект/массив, но вложенные структуры остаются ссылками. Глубокое копирование рекурсивно клонирует все вложенные элементы.
Поверхностное копирование:
Глубокое копирование:
Метод
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ JS собеседования
Поверхностное копирование:
const arr = [1, 2, 3];
const arrCopy = [...arr]; // или arr.slice()
const obj = { a: 1, b: 2 };
const objCopy = { ...obj }; // или Object.assign({}, obj)
Глубокое копирование:
const deepCopy = JSON.parse(JSON.stringify(obj)); // Не поддерживает функции и спец. типы
const structuredCloneCopy = structuredClone(obj); // Современный способ
Метод
structuredClone
работает с циклическими ссылками, но не копирует функции или прототипы.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8