localStorage的用法與封裝
阿新 • • 發佈:2021-02-14
技術標籤:html5
文章目錄
localStorage的用法
let todos = [
{
id:1,
text:"哈哈"
},
{
id:2,
text: "嘻嘻"
}
];
localStorage.setItem("todos",JSON.stringify(todos));
console.log(JSON.parse(localStorage.getItem("todos")));
== 注意 ==
localStorage.setItem(“todos”,todos);
不能直接這麼存陣列 直接存在localstorage中出現的是 todos [object Object],[object Object]
要將其用 **JSON.stringify()轉為字串進行儲存
取出是也要注意
localStorage.setItem(“todos”,JSON.stringify(todos));
console.log(localStorage.getItem(“todos”));此時輸出的如下資料 不能直接進行使用
要將其用JSON.parse()**轉為物件進行輸出 才能直接使用
console.log(JSON.parse(localStorage.getItem(“todos”)));此時才能輸出我們想要用的資料
在localstorage內定定義兩個方法
1. fetch(key) => 獲取localStorage 中key 的記錄 返回物件
2. save(key,obj) => 儲存 key 為 key物件 => localStorage
let todos = [
{
id:1,
text:"哈哈"
},
{
id:2,
text:"嘻嘻"
}
];
(function(){
let storageUtil = {
}
storageUtil.fetch = function(key){
let rawObj = localStorage.getItem(key)||"[]";// 不傳就為空的[] 字串
return JSON.parse(rawObj);
}
storageUtil.save = function(key,obj){
localStorage.setItem(key,JSON.stringify(obj));
}
window.storageUtil = storageUtil;
})();
console.log(storageUtil);
storageUtil.save("todos",todos);
console.log(storageUtil.fetch("todos"));
console.log(storageUtil); 輸出內容如下
console.log(storageUtil.fetch(“todos”));輸出如下
留的問題 好像不會!!!
? 如何給localStorage 資料設定過期時間?