可能重复:
JavaScript 属性访问:点符号与括号?
我是 chrome 扩展的新手。我知道 Java,但 Javascript 是完全不同的东西。
我想问 和 有什么localStorage["something"]
区别localStorage.something
?
方括号与点。
可能重复:
JavaScript 属性访问:点符号与括号?
我是 chrome 扩展的新手。我知道 Java,但 Javascript 是完全不同的东西。
我想问 和 有什么localStorage["something"]
区别localStorage.something
?
方括号与点。
没有区别。事实上,在 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
and.setItem
方法相同。根据W3C 规范:
每个 Storage 对象都提供对键/值对列表的访问,这些键/值对有时称为items。
这些项目可以通过同名的对象属性或通过使用.getItem
和的名称引用它们来访问和可变.setItem
。唯一的区别是可以覆盖函数以提供包装,例如,在存储之前对对象进行 JSON 化:
localStorage.setItem = function(key, val) {
localStorage[key] = JSON.stringify(val);
}