Possible Duplicate:
JavaScript property access: dot notation vs. brackets?
我是 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
和 .setItem
方法相同。根据W3C spec :
Each Storage object provides access to a list of key/value pairs, which are sometimes called items.
这些项可以通过同名的对象属性进行访问和可变,或者通过使用.getItem
和.setItem
按名称引用它们>。唯一的区别是这些函数可以被覆盖以提供包装,例如,在存储之前对对象进行 JSON 化:
localStorage.setItem = function(key, val) {
localStorage[key] = JSON.stringify(val);
}
关于javascript - localStorage ["something"] vs localStorage.something,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12096169/