Heim  >  Artikel  >  Web-Frontend  >  Wie liest man Cookies in Javascript: am kürzesten, schnellsten und zuverlässigsten?

Wie liest man Cookies in Javascript: am kürzesten, schnellsten und zuverlässigsten?

Susan Sarandon
Susan SarandonOriginal
2024-11-08 01:16:02568Durchsuche

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

Prägnantes Cookie-Lesen in JavaScript: Optimierung für Größe und Leistung

Beim Arbeiten mit eigenständigen JavaScript-Skripten ohne externe Abhängigkeiten das Optimum finden Entscheidend ist die Lösung zum Auslesen von Cookies. Die Funktion readCookie() von QuirksMode.org ist zwar funktionsfähig, aber sperrig und ineffizient.

Verbesserter jQuery.cookie-Ansatz:

Die von jQuery verwendete Funktion read_cookie(). cookie ist kompakter als readCookie():

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

Es sind jedoch weitere Optimierungen möglich.

Kürzeste und effizienteste Lösung:

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

Dieser Ansatz nutzt einen regulären Ausdruck, um den gewünschten Cookie-Wert zu extrahieren, wobei optionale Leerzeichen um das Semikolon und das Gleichheitszeichen verarbeitet werden. Es macht auch mehrere Schleifen überflüssig und ist damit deutlich schneller als andere Lösungen.

Leistungsvergleich:

Ein Leistungsvergleich mit jsben.ch zeigt die Überlegenheit von Lösungsvorschlag:

https://jsben.ch/AhMN6

Hauptvorteile:

  • Prägnant: Nur 18 Zeichen (verkleinert).
  • Zuverlässig: Berücksichtigt optionale Leerzeichen gemäß der offiziellen Spezifikation.
  • Performant: Deutlich schneller als andere Methoden in den meisten Browsern.

Das obige ist der detaillierte Inhalt vonWie liest man Cookies in Javascript: am kürzesten, schnellsten und zuverlässigsten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn