在用js做前端页面时,经常会遇到需要把一部分数据在当前会话中保存下来,刷新页面数据依旧存在。但当页面关闭后,sessionStorage 中的数据就会被清空,这时用到sessionStorage。下面介绍一下sessionStorage的详情用法
sessionStorage的方法
setItem存储value
用途:将value存储到key字段
sessionStorage.setItem("key", "value");
getItem获取value
用途:获取指定key本地存储的值
var value = sessionStorage.getItem("key");
removeItem删除key
用途:删除指定key本地存储的值
sessionStorage.removeItem("key");
clear清除所有的key/value
用途:清除所有的key/value
sessionStorage.clear();
sessionStorage的key和length属性实现遍历
sessionStorage提供的key()和length可以方便的实现存储的数据遍历,例如下面的代码:
var storage = window.sessionStorage; for(var i=0, len=storage.length; i<len;i++){ var key = storage.key(i); var value = storage.getItem(key); console.log(key + "=" + value); }
实例:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>SessionStorage</title> <script type="text/javascript"> window.onload = function() { //首先获得body中的3个input元素 var msg = document.getElementById("msg");//文本框要输入的内容 var getData = document.getElementById("getData");//获取数据 var setData = document.getElementById("setData");//保存数据 var removeData=document.getElementById("removeData");//移除数据 setData.onclick = function()//存入数据 { if(msg.value) { sessionStorage.setItem("data", msg.value);//把data对应的值保存到sessionStorage alert("信息已保存到data字段中"); } else { alert("信息不能为空"); } } getData.onclick = function()//获取数据 { var msg = sessionStorage.getItem("data"); if(msg) { alert("data字段中的值为:" + msg);//把data对应的值弹出来 } else { alert("data字段无值!"); } } removeData.onclick=function() //移除数据 { var msg = sessionStorage.getItem("data"); //sessionStorage.clear(msg); //清除本地所有的key/value sessionStorage.removeItem("data"); } } </script> </head> <body> <input id="msg" type="text"/> <input id="setData" type="button" value="保存数据"/> <input id="getData" type="button" value="获取数据"/> <input id="removeData" type="button" value="移除数据"/> </body> </html>