您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

localStorage.getItem('item')是否优于localStorage.item或localStorage ['item']?

localStorage.getItem('item')是否优于localStorage.item或localStorage ['item']?

直接属性访问(localStorage.itemlocalStorage['item'])和使用功能接口(localStorage.getItem('item'))都可以正常工作。两者都是标准的和跨浏览器兼容的。

存储对象上受支持属性名称是与该对象相关联的列表中当前存在的每个键/值对的键,按照键最后一次添加到存储区域的顺序。

当找不到带有所请求名称的键/值对时,它们的行为就不同。例如,如果key 'item'不存在,var a = localStorage.item;将导致a存在undefined,而var a =localStorage.getItem('item');将导致a具有valuenull。如您所知,undefined并且null在JavaScript / EcmaScript中不可互换。:)

功能接口是可靠地存储和检索等于的预定义属性的键下的值的唯一方法localStorage。(有这六个:lengthkeysetItemgetItemremoveItem,和clear。)所以,举例来说,下面将始终工作:

localStorage.setItem('length', 2);
console.log(localStorage.getItem('length'));

请特别注意,第一个语句不会影响物业localStorage.length(如果没有按键,除了可能增加'length'已经localStorage)。在这方面,该规范似乎在内部不一致。

但是,以下内容可能不会满足您的要求:

localStorage.length = 2;
console.log(localStorage.length);

有趣的是,第一个是Chrome中的no-op,但与Firefox中的功能调用同义。第二个将始终记录中显示的键数localStorage

其他 2022/1/1 18:20:53 有584人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶