【问题标题】:How to keep a JS variable the same even after refreshing page? [duplicate]刷新页面后如何保持 JS 变量不变? [复制]
【发布时间】:2018-12-23 15:43:03
【问题描述】:

但是,我的游戏中有一个速度元素,每当您失败时,它都会刷新页面。 我不希望人们每次刷新页面时都必须不断重置他们的速度。 如何在页面刷新后保持变量不变?

谢谢

【问题讨论】:

  • 作为一个简单的解决方案,您需要将变量保存到LocalStorage,或者让他们创建一个帐户并保存数据服务器端,这样他们就无法更改它。这取决于数据的重要性。

标签: javascript html


【解决方案1】:

给你,这会成功的。只是不要直接通过变量设置速度,而是使用setSpeed 函数,该函数也会更新本地存储。

let speed = localStorage.getItem('speed') ? Number(localStorage.getItem('speed')) : 0; // or whatever your default speed is

function setSpeed(newSpeed) {
    speed = newSpeed;
    localStorage.setItem('speed', newSpeed);
}

另一个解决方案是使用getset 方法,这个更优雅,一旦你设置了速度,它会自动存储在localstage中。

(function() {
    let _speed = localStorage.getItem('speed') ? Number(localStorage.getItem('speed')) : 0;

    Object.defineProperty(this, 'speed', {
        get: function() {
            return _speed;
        },
        set: function(speed) {
            _speed = speed;
            localStorage.setItem('speed', speed)
            return true;
        }
    });
})();

【讨论】:

    猜你喜欢
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多