用Javascript显示2个随机数

时间:2019-04-10 23:40:39

标签: javascript html

我在这里有此代码:

<script>
            const stored = localStorage[location.href]
            const number = stored || Math.floor(Math.random() * 6) + 2

            document.getElementById("n1").innerHTML = number

            if ( !stored ) localStorage[location.href] = number
</script>
<div>
 The first number is <span id="n1"></span>.
</div>

这将显示2到6之间的随机数,并将其保存到用户的缓存中,因此,如果他重新加载页面,则该数字将再次出现。但是我现在想做的是显示第二个数字,而我正在尝试这样做:

<script>
            const stored2 = localStorage[location.href]
            const number2 = stored2 || Math.floor(Math.random() * 8) + 3

            document.getElementById("n2").innerHTML = number2

            if ( !stored2 ) localStorage[location.href] = number2
</script>
<div>
     The second number is <span id="n2"></span>.
 </div>

但是<span id="n2"></span>始终显示与<span id="n1"></span>中相同的数字。我想这与用户缓存中的本地存储有关。

如何使它显示2个不同的数字,但仍将这些数字存储在用户的缓存中,以便他重新加载页面时会显示相同的2个数字?

预先感谢

1 个答案:

答案 0 :(得分:4)

您已将两个数字存储在同一密钥(localStorage下的location.href中,因此第二个数字将覆盖第一个数字。

您需要使用其他键或将数字存储在JSON字典中,然后将其存储。