首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >localStorage[“某事”]诉localStorage.something

localStorage[“某事”]诉localStorage.something
EN

Stack Overflow用户
提问于 2012-08-23 16:26:17
回答 1查看 3K关注 0票数 2

可能重复: JavaScript属性访问:点表示法还是括号?

我完全是个新手。我知道Java,但是Javascript完全不同。

我想问一下localStorage["something"]localStorage.something的区别是什么?

方括号和圆点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-23 16:35:09

没有什么不同。实际上,JavaScript中的两个语法作为一个整体并没有区别:

代码语言:javascript
复制
someObj.someProp === somObj["someProp"];

唯一的区别是某些字符在字符串中有效,而在点属性名称中无效:

代码语言:javascript
复制
someObj["some-prop"] // valid
someObj.some-prop // this is actually the value of `someObj.some` minus the value of `prop`

请注意,这两种在localStorage中存储值的方法也与使用.getItem.setItem方法相同。根据W3C规范

每个存储对象都提供对键/值对列表的访问,这有时被称为items

通过同名的object属性或使用.getItem.setItem按名称引用这些项,这些项是可访问的和可变的。唯一的区别是,函数可以被覆盖以提供包装,例如JSON-在存储之前对对象进行处理:

代码语言:javascript
复制
localStorage.setItem = function(key, val) {
    localStorage[key] = JSON.stringify(val);
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12096169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档