6 функций Killer Utility в JavaScript

Это своего рода расширение к 7 убийственным остротам в JavaScript , которые были опубликованы на прошлой неделе . Если вы еще не читали статью, настоятельно рекомендуем это сделать.

1. Проверьте, виден ли элемент в окне просмотра

IntersectionObserverэто отличный способ проверить, виден ли элемент в окне просмотра .

const callback = (entries) => {
  entries.forEach((entry) => {
    if (entry.isIntersecting) {
      // `entry.target` is the dom element
      console.log(`${entry.target.id} is visible`);
    }
  });
};
const options = {
  threshold: 1.0,
};
const observer = new IntersectionObserver(callback, options);
const btn = document.getElementById("btn");
const bottomBtn = document.getElementById("bottom-btn");
observer.observe(btn);
observer.observe(bottomBtn);

2. Обнаружить устройство

Вы можете использовать navigator.userAgentдля получения подробной информации и обнаружения устройства, на котором запущено приложение.

const detectDeviceType = () =>
  /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
    navigator.userAgent
  )
    ? "Mobile"
    : "Desktop";
console.log(detectDeviceType());

Вы можете просто переключать видимость элемента с помощью style.visibilityсвойства, и если вы хотите удалить его из потока рендеринга , вы можете использовать это style.displayсвойство.

const hideElement = (element, removeFromFlow = false) => {
  removeFromFlow
    ? (element.style.display = "none")
    : (element.style.visibility = "hidden");
};

4. Получите параметры из URL

JavaScript превращает получение parametersс любого адреса в прогулку по парку с использованием URLобъекта.

const url = new URL(window.location.href);
const paramValue = url.searchParams.get("paramName");
console.log(paramValue);

Вы можете преобразовать deep copyлюбой объект в строку и обратно в объект .

const deepCopy = (obj) => JSON.parse(JSON.stringify(obj));

JavaScript поставляется с setTimeoutфункцией, но он не возвращает Promiseобъект, что затрудняет его использование в async functions. Итак, мы должны написать свою собственную функцию wait/ .sleep

const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
const asyncFunc = async () => {
  await wait(1000);
  console.log("async");
};
asyncFunc();

Подпишитесь на меня, чтобы получать еженедельные новости из области технологий

Нужен фрилансер по фронтенд-разработке с самым высоким рейтингом, чтобы избавиться от проблем с разработкой? Свяжитесь со мной на Upwork

Хотите увидеть, над чем я работаю? Посетите мой личный сайт и GitHub

Хотите подключиться? Свяжитесь со мной в LinkedIn

Я фрилансер, который начнет работу в качестве цифрового кочевника в середине 2022 года. Хотите поймать путешествие? Подпишитесь на меня в Instagram

Suggested posts

Создание безопасной рабочей среды

Создание безопасной рабочей среды

«Он защитит меня, когда я в опасности. Он спрячет меня в своей палатке.

Сетевое телевидение Твиттер

Сетевое телевидение Твиттер

То, что было старым, теперь снова новое, а то, что раньше было блестящим, теперь кажется скучным. Я не говорю о джинсах JNCO, которые вернулись среди крутых парней в центре города вместе с другими моделями конца 1990-х годов.

Related posts

Как спасти планету и заработать деньги

Как спасти планету и заработать деньги

Сколько раз вы, не задумываясь, выбрасывали пластиковую бутылку, стеклянную банку, алюминиевую банку или пакет экологически чистой энергии? Сколько раз вы хотели получить что-то взамен за их переработку? Если вы похожи на большинство людей, ответ, вероятно, много раз. Переработка часто рассматривается как хлопотное дело, рутинная работа или обязанность, не приносящая немедленных или ощутимых выгод.

Конкурс Goodreads Reading Challenge токсичен

Конкурс Goodreads Reading Challenge токсичен

Зуд в моей руке распространился, когда я торговалась с местным книгопродавцом за еще одну книгу. Эта книга, как и остальные, которые я купил недавно, займет свое место в моей стопке «Для чтения» (TBR); и тем не менее, я купил его.

Преследование христиан: преступление на почве ненависти, о котором мы не говорим

Забудьте об исламофобии: христиане (и евреи) являются главными жертвами преступлений на почве религиозной ненависти.

Преследование христиан: преступление на почве ненависти, о котором мы не говорим

Любой здравомыслящий человек знает, что в политических и медийных кругах доминируют левые, даже крайне левые, что создает дисбаланс в политическом дискурсе. В области религии этот дисбаланс хорошо виден: левые газеты и сети не спешат защищать христианскую веру.

БЕЗГРАНИЧНАЯ ЖИЗНЬ

Когда вы вырастаете, вам, как правило, говорят, что мир такой, какой он есть, и ваша жизнь состоит в том, чтобы просто жить своей жизнью внутри мира, никогда не рискуя своей жизнью, просто следовать установленному пути и умереть в конце, и стараться не слишком сильно бить стены. Но это очень ограниченная жизнь.