📖
JavaScript - 網站程式設計
  • JavaScript - 網站程式設計
  • 1. 簡介
    • 1.1 講者簡介
    • 1.2 課程簡介
    • 1.3 開發工具簡介
  • 2. JS 在網頁上的基本觀念
    • 2.1 變數宣告
    • 2.2 資料型態
    • 2.3 基礎節點操控
    • 2.4 套用方式
  • 3. 瀏覽器物件模型 (BOM)
    • 3.1 Window
    • 3.2 Location
    • 3.3 內建彈出視窗
  • 4. 文件物件模型 (DOM)
    • 4.1 DOM 簡介
    • 4.2 取得節點、內容、屬性
    • 4.3 節點查找(Traversing)
    • 4.4 更新節點
    • 4.5 新增節點
    • 4.6 刪除節點、屬性
    • 4.7 操控 class 屬性
    • 4.8 練習
  • 5. 事件 (Events)
    • 5.1 事件(Event)簡介
    • 5.2 事件物件(Event Object)
    • 5.3 window 及 document 事件
    • 5.4 滑鼠相關事件
    • 5.5 鍵盤相關事件
    • 5.6 scroll 事件
    • 5.7 表單事件及停止元素預設行為
    • 5.8 動態事件綁定
    • 5.9 練習
  • 6. 表單 (Form)
    • 6.1 取得表單資料
    • 6.2 設定表單資料
    • 6.3 練習
  • 7. 儲存機制(Storage)
    • 7.1 Cookies
    • 7.2 localStorage
  • 8. ECMAScript (ES)
    • 8.1 Template String
    • 8.2 Arrow Function
    • 8.3 Spread and Rest Operator
    • 8.4 物件屬性簡寫
    • 8.5 解構賦值
  • 9. 作業
  • 10. 參考資料
Powered by GitBook
On this page
  • cookie 與 localStorage 比較
  • localStorage 儲存
  • localStorage 資料擷取
  • localStorage 資料更新
  • localStorage 資料刪除
  1. 7. 儲存機制(Storage)

7.2 localStorage

Previous7.1 CookiesNext8. ECMAScript (ES)

Last updated 1 year ago

在 practice 資料夾下,建立 localstorage.html ,以便練習。

在 html5 還沒有出來之前,本機端的儲存方式,使用的是 cookie,但空間有限,大約是 4k 左右。

而 html5 出來之後,多了 localStorage 儲存方式,空間更大,大約 5M,而且使用了 key-value 的儲存方式,使得更有彈性。

cookie 與 localStorage 比較

特性

cookie

localStorage

生命週期

預設是關閉瀏覽器後失效,但可以設定失效的時間。

除非手動清除,否則並不會消失。

大小

大約4K

一般是 5Mb

localStorage 儲存

以下是將資料儲存在 localStorage 的三種寫法,以 key-value 的方式儲存,例:

localStorage.colorSetting1 = '第一種方式';
localStorage['colorSetting2'] = '第二種方式';
localStorage.setItem('colorSetting3', '第三種方式');

開啟本機端網址來觀察:

如下圖:

儲存 JSON 格式資料,使用 JSON.stringify()將資料字串化:

localStorage.setItem("car", JSON.stringify({doors: 4, brand_name: "toyota"}));

localStorage 資料擷取

可透過以下方式取得 localStorage 裡的資料:

var get_color = localStorage.colorSetting2;
// 或
var get_color = localStorage.getItem("colorSetting2");
// 或
var get_color = localStorage['colorSetting2'];

如果 localStorage 裡沒有指定的資料,會回傳 undefined。

如果有儲存 JSON 資料,取出時,通常會用 JSON.parse() 來轉回物件格式:

var car = JSON.parse(localStorage.getItem("car"));
console.log(car);

localStorage 資料更新

可透過以下方式來更新 localStorage 裡的資料:

localStorage.colorSetting2 = "red";
// 或
localStorage.setItem("colorSetting2", "red");
// 或
localStorage['colorSetting2'] = "red";

localStorage 資料刪除

可透過以下方式來刪除 localStorage 裡的資料:

// 刪除單一項目
localStorage.removeItem("colorSetting2");

// 清空
localStorage.clear();

http://127.0.0.1:3000/web_storage/localstorage.html