Window localStorage 属性

前言

只读的localStorage属性允许你访问一个Document源(origin)的对象Storage;存储的数据将保存在浏览器会话中。localStorage类似sessionStorage,但其区别在于:存储在localStorage 的数据可以长期保留;而当页面会话结束——也就是说,当页面被关闭时,存储在sessionStorage的数据会被清除 。

应注意,无论数据存储在 localStorage 还是 sessionStorage它们都特定于页面的协议。

另外,localStorage 中的键值对总是以字符串的形式存储。 (需要注意, 和js对象相比, 键值对总是以字符串的形式存储意味着数值类型会自动转化为字符串类型).

概念

使用 localStorage 创建一个本地存储的 name/value 对,name="lastname" value="Smith", 然后检索 "lastname" 的值,并插入到 id="result" 的元素上:

实例一

HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>xxx</title>
</head>
<body>

<div id="result"></div>

</body>
</html>
JS
<script>
// 判断浏览器是否支持
if (typeof(Storage) !== "undefined") {
    // 存储
    localStorage.setItem("lastname", "xinjn");
    // 检索
    document.getElementById("result").innerHTML = localStorage.getItem("lastname");
} else {
    document.getElementById("result").innerHTML = "Sorry, your browser does not support Web Storage...";
}
</script>

7b6820f918da07e81d266bda427b93f7.png

实例二

HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>xxx</title>

</head>
<body>
  
  <p>
  <button onclick="clickCounter()" type="button">点我!</button>
  </p>
  <div id="result"></div>
    
  <p>点击按钮查看数字会自动增加。</p>
  
  <p>关闭浏览器,重新打开这个页面点击按钮,可以看到之前的数据是有保留的。</p>
  
</body>
</html>
JS
function clickCounter() {
    if(typeof(Storage) !== "undefined") {
        if (localStorage.clickcount) {
            localStorage.clickcount = Number(localStorage.clickcount)+1;
        } else {
            localStorage.clickcount = 1;
        }
        document.getElementById("result").innerHTML = "你在按钮上已经点击了 " + localStorage.clickcount + " 次。";
    } else {
        document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage...";
    }
}

346e554edc398a2af9b4c31ff90c6bdc.png

语法

下面的代码片段访问了当前域名下的本地 Storage 对象,并通过 Storage.setItem() 增加了一个数据项目。

window.localStorage

保存数据语法:

localStorage.setItem("key", "value");
//localStorage.setItem('myCat', 'Tom');

读取数据语法:

var lastname = localStorage.getItem("key");
//let cat = localStorage.getItem('myCat');

删除数据语法:

localStorage.removeItem("key");
//localStorage.removeItem('myCat');

该语法用于移除所有的 localStorage 项,如下:

// 移除所有
localStorage.clear();
localstorage 必知必会​juejin.imWindow localStorage 属性​www.runoob.com
98a4fded92e96ab0fa3067e8fcece57b.png
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐