指定HTML5本地存储项的默认值?

栏目: Html5 · 发布时间: 6年前

内容简介:翻译自:https://stackoverflow.com/questions/13791569/specify-default-value-for-html5-local-storage-item

如果您尝试获取不存在的本地存储项,是否可以为该项设置默认值?

例如,假设在您的Web应用程序中,各种UI首选项都保存在本地存储中.当用户离开您的网站然后返回时,将根据从其本地存储中提取的值设置UI.这很好用.

但是,当用户首次访问您的Web应用程序时,这些本地存储值尚不存在.因此,当您的JavaScript尝试获取这些本地存储项时,它们都将是未定义的.在不存在的情况下,是否没有办法为每个本地存储项指定默认值?

大多数处理保存键/值对的编程语言都提供了一种指定默认值的 排序 方式(想想.ini配置文件接口).我期待这样的事情:

var preference = localStorage.getItem('some-key', 'Default Value');

另外,我知道我可以通过测试它们是否为空/未定义而轻松地以编程方式设置默认值并相应地设置值,但我想看看这是否内置于本地存储键/值对中,也许我只是没有看到它.如果此功能不存在,我将最终编写一些基本的本地存储包装函数,这些函数会添加此功能.

不,没有这样的内置功能.请参阅 Storage interface

的规格:

interface Storage {
  readonly attribute unsigned long length;
  DOMString? key(unsigned long index);
  getter DOMString getItem(DOMString key);
  setter creator void setItem(DOMString key, DOMString value);
  deleter void removeItem(DOMString key);
  void clear();
};

以下几行只是为了进一步确认:

The getItem(key) method must return the current value associated with the given key. If the given key does not exist in the list associated with the object then this method must return null .

你可以使用通常的技术.这样的事应该没问题:

var preference = localStorage.getItem('some-key') || 'Default Value';

翻译自:https://stackoverflow.com/questions/13791569/specify-default-value-for-html5-local-storage-item


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大数据大创新:阿里巴巴云上数据中台之道

大数据大创新:阿里巴巴云上数据中台之道

邓中华 / 电子工业出版社 / 2018-11 / 99

阿里巴巴云上数据中台正服务着阿里生态中的数十个业务板块、百余家公司、千万级客户,在帮助决策层看清甚至决定业态走向的同时,在上万个业务场景中应用并催生创新。 《大数据大创新:阿里巴巴云上数据中台之道》基于作者在阿里巴巴的十年大数据从业经历,精彩演绎云上数据中台之道。《大数据大创新:阿里巴巴云上数据中台之道》基于大数据探索的大趋势,讲述阿里巴巴云上数据中台顶层设计,再以实际案例详述阿里巴巴云上数......一起来看看 《大数据大创新:阿里巴巴云上数据中台之道》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具