Maison  >  Article  >  interface Web  >  Comment lire les cookies en Javascript : le plus court, le plus rapide et le plus fiable ?

Comment lire les cookies en Javascript : le plus court, le plus rapide et le plus fiable ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-08 01:16:02627parcourir

 How to Read Cookies in Javascript: Shortest, Fastest, and Most Reliable?

Lecture concise des cookies en JavaScript : optimisation de la taille et des performances

Lorsque vous travaillez avec des scripts JavaScript autonomes sans dépendances externes, trouver la solution optimale Une solution de lecture des cookies est cruciale. La fonction readCookie() de QuirksMode.org, bien que fonctionnelle, est volumineuse et inefficace.

Approche jQuery.cookie améliorée :

La fonction read_cookie() utilisée par jQuery. cookie est plus compact que readCookie() :

function read_cookie(key)
{
    var result;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? (result[1]) : null;
}

Cependant, d'autres optimisations sont possibles.

Solution la plus courte et la plus efficace :

const getCookieValue = (name) => (
  document.cookie.match('(^|;)\s*' + name + '\s*=\s*([^;]+)')?.pop() || ''
)

Cette approche exploite une expression régulière pour extraire la valeur de cookie souhaitée, en gérant les espaces facultatifs autour du point-virgule et du signe égal. Il élimine également le besoin de plusieurs boucles, ce qui le rend nettement plus rapide que d'autres solutions.

Comparaison des performances :

Une comparaison des performances utilisant jsben.ch démontre la supériorité du solution suggérée :

https://jsben.ch/AhMN6

Avantages clés :

  • Concis : Seulement 18 caractères (minifiés) dans la plupart des navigateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn