如果本地存储中没有密钥,如何将值默认为某些内容?

时间:2015-06-26 08:02:04

标签: javascript

我有这段代码:

var lang = localStorage.getItem('NG_TRANSLATE_LANG_KEY');

如果本地存储中没有设置值,如何将其默认为'en'?

2 个答案:

答案 0 :(得分:3)

您可以使用Short-circuit evaluation

var lang = localStorage.getItem('NG_TRANSLATE_LANG_KEY') || 'en';

||返回第二个操作数的值,如果第一个操作数是假的,则返回第一个操作数的值。

DEMO

或者,简单表达式

var lang = localStorage.getItem('NG_TRANSLATE_LANG_KEY');
if(!lang){
   lang = 'en';
}

答案 1 :(得分:0)

Webstorage API中没有默认值功能:

  

getItem(key)方法必须返回与给定键关联的当前值。如果与对象关联的列表中不存在给定键,则此方法必须返回null

但是,您可以在初始化变量时简单地定义默认值:

var foobar = localStorage.getItem('key') || 'default-value';