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
主要優點:
以上是如何用 Javascript 讀取 Cookie:最短、最快、最可靠?的詳細內容。更多資訊請關注PHP中文網其他相關文章!