使用 HTML5 本地存储保存多个值
Saving multiple values using HTML5 local Storage
我有一个页面,它利用本地存储来保存按钮被点击的次数:
function clickCounter() {
if(typeof(Storage) !== "undefined") {
if (localStorage.clickcount) {
localStorage.clickcount = Number(localStorage.clickcount)+1;
} else {
localStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "" + localStorage.clickcount + ".";
} else {
document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage...";
}
}
我现在想再添加 3 个按钮,并希望分别存储每个按钮的值。为了显示它,我知道我会引用适当的ID,但我不确定如何存储这些值。我想我将有另外 3 个函数来执行此操作,并且需要为每个值创建一个变量?我走在正确的道路上吗?
简而言之,您可以执行以下操作来存储localStorage
中的项目:
localStorage.firstButtonCount += 1;
localStorage.secondButtonCount +=1;
问题的症结在于localStorage
的行为类似于javascript对象。因此,这意味着您应该记住,如果您使用点表示法来执行此操作.
则无法对来自变量并在运行时确定的键执行此操作。对于这种情况,请使用方括号表示法[]
。
var my = 'firstButtonCount';
var second = 'secondButtonCount';
if(something > 10){
localStorage[my] += 1; // Determined dynamically
} else{
localStorage[second] += 1;
}
您可以继续使用点表示法将新项添加到 localStorage 对象。 localStorage.keyName = value
是完全可以接受的。要查看它的外观,请打开浏览器开发工具并在控制台中输入localStorage
。你会看到它基本上只是一个对象。
相关文章:
- 如何在本地存储(或其他数据库)上安全地保存敏感访问代码
- JavaScript-保存、存储和更新数组
- 在本地存储中保存并返回随机生成的字符串
- 如何保存和存储实时流中的音频
- 本地存储保存和检索文本输入值
- 表单选择不保存在本地存储中
- Javascript 会话存储变量未正确保存
- 没有从本地存储获取与保存的变量相同的类型
- 如何保存从单击this.nameClass动态设置的本地存储
- 如何将jQuery克隆的文本输入保存到cookie或html5存储中
- 如何在画布上绘制(使用鼠标/触摸)、保存绘制的对象、存储、加载和操作
- 无法使用HTML5 Web存储保存布尔值的解决方法
- 如何使用复选框启用选项并通过本地存储进行保存
- 将表数据保存在本地存储中
- 在保存到本地存储之前,如何修改我得到的 json 响应以使其看起来像这样
- 将图像从表单保存到本地存储并存储/加载它
- 存储日期选择器日期并保存在数据库中
- 在文本字段中显示保存的本地存储变量 - javascript
- 会话存储未保存或未加载
- 保存文本框数据并从本地存储返回 - angularJS -