6 funciones de utilidad Killer en JavaScript

Esto es algo así como una extensión de los 7 Killer One-Liners en JavaScript de la semana pasada . Si aún no ha leído el artículo, le recomendamos encarecidamente que lo haga.

1. Comprobar si un elemento está visible en la ventana gráfica

IntersectionObserveres una excelente manera de verificar si un elemento está visible en la ventana gráfica .

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. Detectar dispositivo

Puede usar navigator.userAgentpara obtener información detallada y detectar el dispositivo que ejecuta la aplicación

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

Simplemente puede alternar la visibilidad de un elemento usando la style.visibilitypropiedad y, en caso de que quiera eliminarlo del flujo de procesamiento , puede usar la style.displaypropiedad.

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

4. Obtenga los parámetros de la URL

JavaScript hace que obtener el parametersdesde cualquier dirección sea un paseo por el parque usando el URLobjeto.

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

Puede convertir deep copycualquier objeto en una cadena y volver a convertirlo en un objeto .

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

JavaScript se entrega con una setTimeoutfunción, pero no devuelve un Promiseobjeto, lo que dificulta su uso en async functions. Así que tenemos que escribir nuestra propia función wait/ sleep.

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

Sígueme para conocer novedades semanales sobre el dominio de la tecnología .

¿ Necesita un freelancer de desarrollo front-end mejor calificado para eliminar sus problemas de desarrollo? Contáctame en Upwork

¿Quieres ver en qué estoy trabajando? Consulta mi sitio web personal y GitHub

¿Quieres conectarte? Ponte en contacto conmigo en LinkedIn

Soy un freelancer que empezará como Nómada Digital a mediados de 2022. ¿Quieres tomar el viaje? Sígueme en Instagram

Suggested posts

El desafío de lectura de Goodreads es tóxico

El desafío de lectura de Goodreads es tóxico

La picazón en mi mano se extendió mientras negociaba con el librero local por otro libro. Este libro, como el resto que compré recientemente, encontraría su trono en mi pila de 'To Be Read' (TBR); y sin embargo, lo compré.

Conversaciones peligrosas

Conversaciones peligrosas

Si queremos seguir prosperando en este planeta, vamos a tener que tener conversaciones peligrosas. Aquellas que desafían lo que hemos hecho, lo que estamos haciendo y lo que actualmente vamos a seguir haciendo (o planeamos hacer).

Related posts

La persecución de los cristianos: el crimen de odio del que no hablamos

Olvídate de la islamofobia: los cristianos (y los judíos) son las principales víctimas de los delitos de odio religioso.

La persecución de los cristianos: el crimen de odio del que no hablamos

Cualquier mente racional sabe que los círculos políticos y mediáticos están dominados por la izquierda, incluso por la extrema izquierda, una situación que crea un desequilibrio en el discurso político. En el campo de la religión, este desequilibrio es claramente visible: los periódicos y las redes de izquierda no se apresuran a defender la fe cristiana.

Rastree a cualquiera con solo un número de teléfono | Investigación OSINT

Rastree a cualquiera con solo un número de teléfono | Investigación OSINT

Puede ser un investigador de OSINT, un jugador de CTF o simplemente alguien que recibe llamadas no deseadas. Alguien que está tratando de verificar el número que viste en un anuncio.

La revolución del lugar de trabajo: los mejores expertos hablan sobre el trabajo híbrido y remoto

La revolución del lugar de trabajo: los mejores expertos hablan sobre el trabajo híbrido y remoto

En el panorama empresarial en rápida evolución actual, el concepto de trabajo híbrido y remoto ha ganado un impulso sin precedentes. A medida que las empresas continúan adaptándose a las necesidades y expectativas cambiantes de sus empleados, expertos de varios campos se han reunido para analizar los beneficios, los desafíos y el futuro de esta forma transformadora de trabajar.

La actuación en solitario de la chica pelirroja

Por encargo de Hayden, Katie se graba masturbándose.

La actuación en solitario de la chica pelirroja

Era pasada la medianoche cuando Hayden llevó a Katie de regreso a su residencia universitaria después de su velada juntos. Tenía una clase temprano en la mañana y no tenía otra muda de ropa después de haberse quedado con él la noche anterior.