首页  >  文章  >  web前端  >  如何用 Javascript 读取 Cookie:最短、最快、最可靠?

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

Susan Sarandon
Susan Sarandon原创
2024-11-08 01:16:02569浏览

 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