JavaScript 中的本地存储是什么?
本地存储是 Web API 的一部分,允许您以对象(键值对)的形式在 Web 浏览器中存储数据
- 本地存储不使用缓存来存储数据,这就是为什么如果关闭浏览器,本地存储数据就不起作用 - 每个
URL 在浏览器中都有其专用的本地存储,用于持久存储数据 - 本地存储主要用于客户端- 侧状态、管理记住用户操作、会话管理、离线支持
使用本地存储:
setItem(key, value):此方法允许在网络浏览器中存储Key和配对value
localStorage.setItem('username', 'Diwakar');
getItem(key):此方法从本地存储中检索与特定键关联的值
const username = localStorage.getItem('username');
console.log(username); // Output: Diwakar
removeItem(key):该方法从键本地存储中删除与指定关联的键值对
localStorage.removeItem('username');
clear():该方法用于删除与该URL关联的所有本地存储
localStorage.clear();
什么是会话存储?
Session 存储与 Local Storage 类似,唯一的区别是如果关闭浏览器数据就会消失
-Session 存储是使用缓存来存储数据,这就是为什么如果关闭浏览器那么 Session 存储数据就会消失 -
每个 URL 都有其Web 浏览器内的专用会话存储,用于像本地存储一样持久存储数据 -
会话存储主要用于多步骤流程、客户端缓存、状态管理、消息传递和通知
要使用会话存储:
会话存储的所有主要方法与本地存储相同
setItem(key, value):此方法允许在网络浏览器中存储Key和配对value
localStorage.setItem('username', 'Diwakar');
getItem(key):此方法从会话存储中检索与特定键关联的值
const username = localStorage.getItem('username');
console.log(username); // Output: Diwakar
removeItem(key):该方法从Session存储的key中删除指定关联的键值对
localStorage.removeItem('username');
clear():该方法用于删除与该URL关联的所有Session存储
localStorage.clear();
JavaScript 中的Cookie是什么?
网站利用 JavaScript cookie 在用户浏览器上存储小数据片段。这些片段的目的是保留用户相关信息或监控他们的浏览行为。作为标准做法,cookie 伴随每个网站请求,使服务器能够访问存储的数据。
以下是如何在 JavaScript 中使用 cookie:-
1- 设置 Cookie:
document.cookie = "cookieName=cookieValue; expires=expiryDate; path=/";
cookieName是 cookie 的名称。
cookieValue是你想要存储的值。
expires(可选)指定 cookie 的到期日期。格式应为“expires=Thu, 01 Jan 2023 00:00:00 GMT”。
path(可选)设置 cookie 的范围。默认情况下,它适用于当前路径。
2- 获取 Cookie:
var cookies = document.cookie;
该document.cookie属性包含所有 cookie 作为字符串。您需要解析并提取您想要的特定 cookie。
3-解析并提取特定的cookie:
function getCookie(name) {
var cookieValue = null;
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i].trim();
if (cookie.startsWith(name + '=')) {
cookieValue = cookie.substring(name.length + 1);
break;
}
}
return cookieValue;
}
您可以使用该getCookie函数通过提供特定 cookie 的名称来提取其值。
4-删除cookie:
要删除 cookie,您必须将其过期日期设置为过去的日期:
document.cookie = "cookieName=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
Cookie 的大小有限,可以通过客户端代码访问。敏感信息不应存储在 cookie 中。现代 Web 开发使用本地存储或会话存储来实现数据持久性。