在JavaScript中使数组变量全局化

时间:2014-04-25 02:32:45

标签: javascript jquery

我正在加载我的javascript时将数组变量设置为0。

var postArray= new Array();

但是,我使用此数组来保存我从localStorage检索的对象。当我上传更多可以输入localStorage和显示的博客文章时,它可以正常工作。但是,在我刷新页面之后,这又被称为空数组,并说我在刷新后进入我的第3篇博文,我的localStorage设置为仅包含postArray的内容。因此,当我不想要的时候,我正在清理我的localStorage。

如果将其抛入if语句,则postArray未定义。

if (localStorage.getItem("posts") === null) {
    var postArray = new Array(); 
}

我正在尝试使postArray在开始时全局化,但只在localStorage为空时创建一个新数组。

2 个答案:

答案 0 :(得分:0)

我认为你应该使用文件coockie而不是数组!!
当页面加载时读取cookie内容如果它是空的“localStorage”然后将“whatEver you want”值存储在其上!这比阵列好

答案 1 :(得分:0)

您应该从localStorage获取内容,如果它是空的,则返回一个空数组。

例如。

var postArray= getPosts();

function getPosts() {
  var posts = localStorage.getItem("posts");
  return posts ? JSON.parse(posts) : [];
}