window или другом соответствующем объекте.
if (typeof window.localStorage !== 'undefined') {
console.log('localStorage is supported');
} else {
console.log('localStorage is not supported');
}
Если функция или API доступны, условие выполнится. Это позволяет писать код с учетом совместимости с разными браузерами.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
XMLHttpRequest или современный метод fetch.Пример с использованием
fetch:
fetch('https://api.example.com/data')
.then(response => response.json()) // Преобразуем ответ в JSON
.then(data => console.log(data)) // Работаем с данными
.catch(error => console.error('Ошибка:', error)); // Обрабатываем ошибки
fetch возвращает промис, что позволяет удобно работать с асинхронными операциями. Для более сложных запросов можно передавать дополнительные параметры, такие как метод, заголовки или тело запроса.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Глобальная область видимости — переменные, объявленные вне функций или блоков, доступны везде в коде. Функциональная область видимости ограничивает доступ переменных, объявленных внутри функции, только этой функцией. Блочная область видимости, появившаяся с введением let и const, ограничивает доступ переменных блоком кода, например, внутри if или for.
const globalVar = 'global'; // Глобальная область видимости
function example() {
const localVar = 'local'; // Функциональная область видимости
if (true) {
const blockVar = 'block'; // Блочная область видимости
}
}
Понимание областей видимости помогает избегать ошибок, связанных с использованием переменных вне их контекста.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
// export.js
export const value = 42;
export function greet() { return 'Hello'; }
Для экспорта используются ключевые слова
export или export default.
// import.js
import { value, greet } from './export.js';
console.log(value); // 42
console.log(greet()); // Hello
Импорт выполняется с помощью
import. Модули поддерживают статический анализ, что позволяет оптимизировать загрузку и устранять неиспользуемый код. Модули всегда работают в строгом режиме (use strict).Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Синхронный код выполняется последовательно, каждая операция ожидает завершения предыдущей. Это блокирующий подход, где длительные задачи могут задерживать выполнение последующих операций.
console.log('First');
console.log('Second'); // Выполнится только после завершения первой строки
Асинхронный код позволяет выполнять задачи без блокировки основного потока. Операции могут быть отложены и завершены позже, что особенно полезно для работы с сетью, файлами или таймерами.
console.log('First');
setTimeout(() => console.log('Second'), 1000); // Выполнится через 1 секунду, не блокируя поток
console.log('Third'); // Выполнится сразу после 'First'
Асинхронность достигается через колбэки, промисы и async/await, что делает код более эффективным для задач с ожиданием.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
async/await. Промисы позволяют организовать асинхронный код в цепочку, а async/await делает его более читаемым, похожим на синхронный.
// С промисами
fetchData()
.then(response => processData(response))
.then(result => saveData(result))
.catch(error => console.error(error));
// С async/await
async function handleData() {
try {
const response = await fetchData();
const result = await processData(response);
await saveData(result);
} catch (error) {
console.error(error);
}
}
Также можно разбивать код на отдельные функции, чтобы избежать вложенности. Это улучшает читаемость и поддерживаемость.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4💯4
<noscript> с атрибутом src. Этот тег обычно размещается внутри <head> или перед закрывающим тегом </body>.
<noscript src="path/to/noscript.js"></noscript>
Атрибут
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