Javascript存储字符串变量的实际名称而不是localStorage中的值

时间:2015-01-13 19:01:24

标签: javascript google-chrome local-storage storage

我想每天生成一个新的字符串变量,并将其作为新条目存储到本地存储中。字符串的格式为“timeDataXXXX”,其中XXXX是一个数字,显示自1970年1月1日午夜以来的天数.XYXX由函数numDaysSinceUTC();计算并返回

这是我尝试做的事情

var newStorageName = "timeData" + numDaysSinceUTC();

然后我将其提供给本地存储

chrome.storage.local.set({newStorageName : 0}, function(){});

然后,当我检查本地存储的内容而不是获取与格式相对应的内容时,我得到字面意思是“newStorageName”作为内容(键),变量名称不是它的值。最终覆盖。怎么了?

2 个答案:

答案 0 :(得分:3)

您需要单独创建对象。您无法使用对象文字语法创建动态属性名称。相反,首先创建对象,然后使用方括号表示法添加属性:

var obj = {};
obj[newStorageName] = 0;
chrome.storage.local.set(obj, function(){});

答案 1 :(得分:-1)

var data = numDaysSinceUTC();
localStorage.setItem("KeyName",data);