6 funzioni di utilità killer in JavaScript

Questa è in qualche modo un'estensione dei 7 Killer One-Liners in JavaScript della scorsa settimana . Se non hai già letto l'articolo, sei vivamente incoraggiato a farlo.

1. Verifica se un elemento è visibile nella finestra

IntersectionObserverè un ottimo modo per verificare se un elemento è visibile nella finestra .

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

Puoi utilizzare navigator.userAgentper ottenere informazioni dettagliate e rilevare il dispositivo che esegue l'applicazione

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

Puoi semplicemente attivare o disattivare la visibilità di un elemento usando la style.visibilityproprietà e nel caso in cui desideri rimuoverlo dal flusso di rendering , puoi utilizzare la style.displayproprietà.

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

4. Ottieni i parametri dall'URL

JavaScript rende il recupero parametersdi qualsiasi indirizzo una passeggiata nel parco utilizzando l' URLoggetto.

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

Puoi deep copyqualsiasi oggetto convertendolo in una stringa e di nuovo in un oggetto .

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

JavaScript viene fornito con una setTimeoutfunzione, ma non restituisce un Promiseoggetto, rendendo difficile l'utilizzo in async functions. Quindi dobbiamo scrivere la nostra wait/ sleepfunzione.

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

Seguimi per nuovi bocconcini settimanali sul dominio della tecnologia

Hai bisogno di un freelance per lo sviluppo front-end di prim'ordine per eliminare i tuoi problemi di sviluppo? Contattami su Upwork

Vuoi vedere a cosa sto lavorando? Dai un'occhiata al mio sito Web personale e GitHub

Vuoi connetterti? Contattami su LinkedIn

Sono un libero professionista che inizierà come Digital Nomad a metà del 2022. Vuoi prendere il viaggio? Seguimi su Instagram

Suggested posts

L'assassinio di Jordan Neely e il problema del razzismo "patriottico".

Gli Stati Uniti possono fare il passo essenziale per non equiparare il comportamento razzista all'essere un buon americano?

L'assassinio di Jordan Neely e il problema del razzismo "patriottico".

[Avviso di attivazione: questo saggio include schermate di persone che elogiano l'assassino di Jordan Neely.] I funzionari delle forze dell'ordine hanno finalmente - e forse con riluttanza - accusato Daniel Penny, l'uomo che ha soffocato Jordan Neely fino alla sua morte, per quell'omicidio.

L'apprendimento alla settimana lavorativa conta più di quanto pensi

L'apprendimento alla settimana lavorativa conta più di quanto pensi

Spesso ci troviamo a lottare per implementare ciò che sappiamo essere buono per noi. Dal dire a un altro significativo che li amiamo al ricordare di parlare come un pirata, ci saranno sempre quelli che affermeranno che un giorno, una settimana o un mese di eventi non è necessario perché stanno già facendo quelle cose.

Related posts

La lenta erosione: svelare i modi in cui le persone deperiscono nella loro carriera

La lenta erosione: svelare i modi in cui le persone deperiscono nella loro carriera

Nel mondo frenetico e competitivo di oggi, la propria carriera gioca un ruolo significativo nella crescita personale, nella stabilità finanziaria e nella soddisfazione generale della vita. Tuttavia, molte persone si trovano intrappolate in un ciclo inesorabile di stagnazione e insoddisfazione, che si esauriscono gradualmente nella loro vita professionale.

L'arte è sempre apolitica?

L'arte è sempre apolitica?

Ieri abbiamo chiuso le porte dell'Eurovision Song Contest di quest'anno con un gran finale scintillante e caotico in cui la cantante svedese Loreen ha portato a casa il trofeo, diventando la prima donna a vincere due volte e riportando la corona alla Svezia 50 anni dopo che gli ABBA hanno vinto la competizione con "Waterloo". Hanno continuato a diventare uno dei più grandi artisti nel canone della musica pop.

Tieni traccia di chiunque abbia solo un numero di telefono | Indagine OSINT

Tieni traccia di chiunque abbia solo un numero di telefono | Indagine OSINT

Puoi essere un investigatore OSINT, un giocatore CTF o semplicemente qualcuno che riceve chiamate spam. Qualcuno che sta cercando di verificare il numero che hai visto in una pubblicità.

Come salvare il pianeta e fare soldi

Come salvare il pianeta e fare soldi

Quante volte vi è capitato di buttare via una bottiglia di plastica, un barattolo di vetro, una lattina di alluminio o una confezione di energia green senza pensarci due volte? Quante volte hai desiderato di poter ottenere qualcosa in cambio del loro riciclaggio? Se sei come la maggior parte delle persone, la risposta è probabilmente molte volte. Il riciclaggio è spesso visto come una seccatura, un lavoro di routine o un dovere che non porta alcun beneficio immediato o tangibile.