刷新页面后如何保持JS变量相同?

时间:2018-12-23 15:43:04

标签: javascript html

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

谢谢

1 个答案:

答案 0 :(得分:0)

在这里,这可以解决问题。只是不要直接通过变量设置速度,而是使用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方法,这种方法更加优雅,一旦设置了速度,它将自动存储在本地字符串中。

(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;
        }
    });
})();