将数组添加到本地存储

时间:2015-06-17 01:48:31

标签: javascript html5

我是HTML5的新手。 我正在阅读首先编写HTML5编程。 在一章中我们提到我们正在从localStorage中抓取数组。

function init() {
    // button code here...
    var stickiesArray = localStorage["stickiesArray"];
    if (!stickiesArray) {
        stickiesArray = [];
        localStorage.setItem("stickiesArray", stickiesArray);
    }
    for (var i = 0; i < stickiesArray.length; i++) {
        var key = stickiesArray[i];
        var value = localStorage[key];
        addStickyToDOM(value);
    }
}

我不明白这一行 的 var stickiesArray = localStorage["stickiesArray"];

我们正在从Localstorage中抓取StickiesArray。 但是他们之间不应该有点像    的 var stickiesArray = localStorage.stickiesArray; 从本地存储中获取物品? 感谢。

2 个答案:

答案 0 :(得分:2)

有两种方法可以访问对象中的属性,点和括号表示法。

点符号:myObject.property

括号表示法:myObject["property"]

在运行时点符号实际上转换为括号表示法,它只是我们程序员的简写。这意味着使用点表示法的任何内容都将转换为字符串。所以,如果你是这样的for-in循环:

for(var key in object) {
  // object.key -> object["key"] (This will be undefined)
  object[key] // (looks up the variable 'key')
}

答案 1 :(得分:2)

在javascript中,当你有对象文字符号...也就是直接声明对象,和/或声明键/值对时,你有两个选择:

Object.name = "FOO"; 要么 Object['name'] = "FOO";

为了便于使用,点符号通常是首选,但括号的范围更大,因为它们总是可以使用。对象文字中存在不允许使用点表示法的实例。

var stickiesArray = localStorage["stickiesArray"] 将变量stickiesArray设置为等于具有本地存储的属性/值的对象:stickiesArray。