1. 程式人生 > 其它 >localStorage的用法與封裝

localStorage的用法與封裝

技術標籤: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 資料設定過期時間?