首頁 >web前端 >js教程 >如何用 Javascript 讀取 Cookie:最短、最快、最可靠?

如何用 Javascript 讀取 Cookie:最短、最快、最可靠?

Susan Sarandon
Susan Sarandon原創
2024-11-08 01:16:02683瀏覽

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

JavaScript 中的簡潔Cookie 讀取:優化大小和效能

在沒有外部依賴的情況下使用獨立的JavaScript 腳本時,找到最佳的讀取cookies的解決方案至關重要。 QuirksMode.org readCookie() 函數雖然功能強大,但體積龐大且效率低。

改良的 jQuery.cookie 方法:

jQuery 使用的 read_cookie() 函數。 cookie 比 readCookie() 更緊湊:

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

但是,可以進一步最佳化。

最短、最高效的解決方案:

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

這種方法利用正規表示式來提取所需的cookie 值,處理分號和等號周圍的可選空格。它還消除了對多個循環的需要,使其比其他解決方案快得多。

效能比較:

使用jsben.ch 進行的效能比較展示了建議的解決方案:

https://jsben.ch/ AhMN6

主要優點:

  • 簡潔:只有18 個字(縮小)。
  • 可靠: 依照官方規範考慮可選空格。
  • 效能:比其他方法快得多在大多數瀏覽器中。

以上是如何用 Javascript 讀取 Cookie:最短、最快、最可靠?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn