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中文网其他相关文章!