下面是数组 nameData,我想知道即使在我的代码运行完毕后,是否有某种方法可以将用户的输入保存到给定数组中。我想这反射(reflect)了我在空闲时间所做的事情......
var nameData = ["Nik"];
var Name = prompt("PLEASE ENTER YOUR NAME:");
if (Name !== null){
alert("Hello " + Name + "!");
nameData.push(Name);
}
for (var i = 0; i < nameData.length; i++) {
console.log(nameData[i]);
}
在 JavaScript 中运行的代码不是持久的。程序完成后,内存中的所有值都将被丢弃。您需要使用服务器端语言将该值保存到磁盘或将其存储在数据库中。
您可以导出数组:
var savedFile_JsonStringData = JSON.stringify(nameData);
并将其字符串内容存储在文件或数据库中。
然后,要导入数据,加载保存的文件并将其字符串表示形式转换回数组:
var nameData = JSON.parse(savedFile_JsonStringData);
本地存储
正如其他人所指出的,如果您不需要将数据存放太久,则临时存储方法可能会奏效。
Window.sessionStorage提供以下内容:
The sessionStorage
property allows you to access a session Storage object. sessionStorage
is similar to localStorage
, the only difference is while data stored in localStorage
has no expiration set, data stored in sessionStorage
gets cleared when the page session ends. A page session lasts for as long as the browser is open and survives over page reloads and restores. Opening a page in a new tab or window will cause a new session to be initiated.
最低浏览器版本支持
Feature | Chrome | Firefox | IE | Opera | Safari
---------------+--------+---------+----+-------+-------
localStorage | 4 | 3.5 | 8 | 10.50 | 4
sessionStorage | 5 | 2 | 8 | 10.50 | 4
例子
// Save data to sessionStorage
sessionStorage.setItem('myKey', JSON.stringify(nameData));
// Get saved data from sessionStorage
var nameData = JSON.parse(sessionStorage.getItem('myKey'));