我是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;
从本地存储中获取物品?
感谢。
答案 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。