javascript - localStorage ["something"] vs localStorage.something

标签 javascript local-storage

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/

相关文章:

javascript - 网页(应用程序)布局 - 设置 100% 高度(html、css)

javascript - 加载内容后如何调整 jQuery Accordion 的大小?

javascript - 如何从 React 中的 cdn/script 标签导入 javascript 包?

javascript - Android Chrome window.onunload

javascript - 带有图像的本地存储

javascript - 在 Polymer 中无法推送 Array 类型 polymer 属性中的元素

javascript - 页面重新加载验证后,下拉列表未加载

angularjs - 我可以使用 html5 本地存储来存储用户身份验证 session 信息吗

javascript - 无法使变量与从 localStorage [Vuejs] 检索到的另一个变量相等

javascript - 我将如何保存一个 JS 变量,以便它可以在另一个 HTML 页面上使用