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
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