我想编写一个可以轻松保存所有变量的代码。通常我将需要60个变量,大约120行。不是很有效。我决定尝试使用数组制作一个函数来尝试保存所有变量。它似乎不起作用。

我的问题是加载的变量是字符串,但是我需要它们是浮点型的。

var variablelist = ["numb1","numb2","numb3","numb4","numb5"];
var variablelength = variablelist.length;

function save(){
  for (var i = 0; i < variablelength; i++){
    localStorage[variablelist[i]] = window[variablelist[i]];
  }
}

function load(){
  for (var i = 0; i < variablelength; i++){
    window[variablelist[i]] = localStorage[variablelist[i]];
  }
}


我努力了

window[variablelist[i]] = localStorage[parseFloat(variablelist[i])];


没事。它仍然是一个字符串。有任何想法吗 ?

最佳答案

使用localStore.setItem()localStore.getItem()来存储和加载项目。还可以使用JSON.stringify()JSON.parse()将对象转换为文本,然后将其还原回对象。

var variablelist = ["numb1","numb2","numb3","numb4","numb5"];
var variablelength = variablelist.length;

function save(){
  for (var i = 0; i < variablelength; i++){
    localStorage.setItem(variablelist[i], JSON.stringify(window[variablelist[i]]));
  }
}

function load(){
  for (var i = 0; i < variablelength; i++){
    window[variablelist[i]] = JSON.parse(localStorage.getItem(variablelist[i]));
  }
}

关于javascript - 使用循环和localStorage保存所有变量[JavaScript],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38953159/

10-12 12:50
查看更多