webStorage
Window.sessionStorage
SessionStorage存储的内容会随着浏览器窗口关闭而消失。
相关API:
1. ```sessionStorage.setItem('key', 'value');```
该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值。
2. ```sessionStorage.getItem('person');```
该方法接受一个键名作为参数,返回键名对应的值。
3. ```sessionStorage.removeItem('key');```
该方法接受一个键名作为参数,并把该键名从存储中删除。
4. ```sessionStorage.clear()```
该方法会清空存储中的所有数据。
具体使用方法如下所示。
<body>
<h2>sessionStorage</h2>
<button onclick="saveData()">点我保存一个数据</button>
<button onclick="readData()">点我读取一个数据</button>
<button onclick="deleteData()">点我删除一个数据</button>
<button onclick="deleteAllData()">点我清空数据</button>
<script type="text/javascript" >
let p = {name:'Revin',age:26}
function saveData(){
sessionStorage.setItem('msg','helloRevin')
sessionStorage.setItem('msg2',26) //注意传输的数字会自动转换成字符串。本地存储的都是字符串
sessionStorage.setItem('person',JSON.stringify(p))//注意传输的对象要改成json。本地存储的都是字符串
}
function readData(){
console.log(sessionStorage.getItem('msg'))
console.log(sessionStorage.getItem('msg2'))
const result = sessionStorage.getItem('person')
console.log(JSON.parse(result))
}
function deleteData(){
sessionStorage.removeItem('msg2')
}
function deleteAllData(){
sessionStorage.clear()
}
</script>
</body>
Window.localStorage
LocalStorage存储的内容,需要手动清除才会消失。
相关API:
1. ```localStorage.setItem('key', 'value');```
该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值。
2. ```localStorage.getItem('person');```
该方法接受一个键名作为参数,返回键名对应的值。
3. ```localStorage.removeItem('key');```
该方法接受一个键名作为参数,并把该键名从存储中删除。
4. ```localStorage.clear()```
该方法会清空存储中的所有数据。
这两个存储方式的API保持一致。因此代码就不再演示了。需要注意的是
xxxxxStorage.getItem(xxx)
如果xxx对应的value获取不到,那么getItem的返回值是null。
JSON.parse(null)
的结果依然是null。