簡體   English   中英

使用 LocalStorage 鍵調用 object 值

[英]Using LocalStorage key to call object value

基本上,我有一個值為“sword4”的本地存儲鍵“rhand”,以及一個名為 Sword4 的 object。

我希望這是動態的,所以我可以在本地存儲中切換項目名稱,例如“sword1”、“sword2”,然后讓它顯示 div 中裝備的唯一信息。

我可以輸入sword4.name; 它會調出名稱“鋼劍”,但 rhand1.name; 不這樣做,它說未定義...

我對 PHP 更熟悉,這似乎適用於 PHP,但在 JavaScript 中沒有意義。 對不起,如果我的英語很難理解。

這是代碼:

 localStorage.setItem("rhand", "sword4"); let sword4 = { name: "steel sword", info: "a sharp steel sword", def: "0", str: "10", int: "0", agi: "0", lbs: "3" }; let rhand1 = localStorage.getItem("rhand"); document.getElementById("rhand").innerHTML = rhand1.name;
 <div id="rhand"></div>

let sword4 = {
  name: "steel sword",
  info: "a sharp steel sword",
  def: "0",
  str: "10",
  int: "0",
  agi: "0",
  lbs: "3"
};
localStorage.setItem("rhand", JSON.stringify(sword4));

let rhand1 = JSON.parse(localStorage.getItem("rhand"));
document.getElementById("rhand").innerHTML = rhand1.name

試試這個,完成后請關閉問題。

localStorage 只能存儲字符串,因此當您需要存儲字符串以外的內容時,例如數組、Object 或數字——使用JSON.stringify()將其轉換為字符串。 當您想從 localStorage 中檢索某些內容時,請使用JSON.parse()將其轉換回來。

演示

注意: SO 不允許 WebStorage API。 有關功能齊全的演示,請參閱此Fiddle

 let sword4 = { name: "steel sword", info: "a sharp steel sword", def: "0", str: "10", int: "0", agi: "0", lbs: "3" }; localStorage.setItem("rhand", JSON.stringify(sword4)); let rhand1 = JSON.parse(localStorage.getItem("rhand")); document.getElementById("rhand").innerHTML = rhand1.name;
 <div id="rhand"></div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM