使用Web API存储创建“真正全局”的整数变量

时间:2017-12-01 19:27:24

标签: javascript html parsing

我有两个html文档,我希望它们共享一个变量及其值。

在JavaScript中代替“真正的全局”变量,我尝试过使用Web API存储:

        var number = parseInt(localStorage.setItem('num',0));

存储总是一个字符串,所以我尝试解析成一个看似错误的整数(而不是在我的程序中显示为0,它显示为'NaN')。我只能假设我的语法错了吗?

我希望这个变量可以增加(每次用户点击某些内容时+1)但还没有想出来。然后我想在第二个html文档中检索它的值。但是由于尝试解析存储值时最初的失误,我还是无法尝试这些方法。

2 个答案:

答案 0 :(得分:0)

它不起作用,因为localStorage.setItem返回undefined。做到这一点的方法是:

// define variable
var num = 0;

// set to storage
localStorage.setItem('num', num);

// get from storage
num = parseInt(localStorage.getItem('num'));

// write-back incremented
localStorage.setItem('num', num + 1);

答案 1 :(得分:0)

localStorage.setItem存储值但不返回任何内容 - 换句话说返回undefined。尝试将undefined解析为数字会返回NaN

请注意,从file://浏览浏览器中的文件时,localStorage不能跨文件工作,您需要运行最小的服务器来测试代码。