可能重复:
JavaScript property access: dot notation vs. brackets?
我是Chrome扩展程序的新手。 我知道Java,但Javascript是完全不同的。
我想问一下localStorage["something"]
和localStorage.something
之间有什么区别?
方括号vs点。
答案 0 :(得分:4)
没有区别。实际上,JavaScript中的两种语法之间没有区别:
someObj.someProp === somObj["someProp"];
唯一的区别是某些字符在字符串中有效,而不是在点属性名称中有效:
someObj["some-prop"] // valid
someObj.some-prop // this is actually the value of `someObj.some` minus the value of `prop`
请注意,这两种在localStorage
中存储值的方法也与使用.getItem
和.setItem
方法相同。根据{{3}}:
每个存储对象都提供对键/值对列表的访问,有时称为项。
这些项可以通过相同名称的对象属性访问和更改,也可以使用.getItem
和.setItem
按名称引用它们。唯一的区别是可以覆盖函数以提供包装,例如,在存储之前将对象提供给JSON-ify:
localStorage.setItem = function(key, val) {
localStorage[key] = JSON.stringify(val);
}