如何在关闭浏览器标签页时保存游戏数值变量?
解决localStorage保存数值变量的问题
localStorage本身只能存储字符串类型的数据,所以需要手动在存储和读取时做类型转换,具体操作如下:
初始化变量:页面加载时优先从localStorage读取数据,转成数字后赋值给clickvalue,若没有存储数据则设为初始值0
// 三种转换方式任选其一 // 方式1:parseInt(适合整数场景) let clickvalue = parseInt(localStorage.getItem('clickvalue')) || 0; // 方式2:Number(兼容整数和小数) let clickvalue = Number(localStorage.getItem('clickvalue')) || 0; // 方式3:+号简写(兼容整数和小数) let clickvalue = +localStorage.getItem('clickvalue') || 0;更新并保存变量:点击按钮修改clickvalue后,将其转为字符串再存入localStorage
// 给按钮绑定点击事件(根据你的按钮ID调整选择器) document.querySelector('#clickBtn').addEventListener('click', () => { // 更新数值(这里以加1为例,可按需修改逻辑) clickvalue += 1; // 转成字符串后存入localStorage localStorage.setItem('clickvalue', clickvalue.toString()); // 同步更新页面数值显示(根据你的DOM结构调整选择器) document.querySelector('#valueDisplay').textContent = clickvalue; });处理小数场景:如果clickvalue是小数(比如每次加0.5),用parseFloat替代parseInt即可
let clickvalue = parseFloat(localStorage.getItem('clickvalue')) || 0;
内容的提问来源于stack exchange,提问作者max
相关产品推荐
相关产品推荐

