在JavaScript中使数组变量全局化

Making an Array Variable Global in JavaScript

本文关键字:变量 全局 数组 JavaScript      更新时间:2023-09-26

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

var postArray= new Array();

但是,我使用这个数组来保存从localStorage检索到的对象。当我上传更多进入localStorage并显示的博客文章时,它就起作用了。然而,在我刷新页面后,它再次被调用,因为它是一个空数组,并说我在刷新后要进入我的第三篇博客文章,我的localStorage被设置为只有我的postArray的内容。因此,当我不想的时候,我会清空我的本地存储。

如果将其放入if语句中,则postArray是未定义的。

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

我试图在一开始就将postArray设置为全局的,但只在localStorage为空时创建一个新阵列。

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

例如。

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

我认为应该使用文档cookie而不是数组
当页面被加载时,读取cookie内容,如果它是空的"localStorage",然后在其上存储"whatEver you want"值
这比阵列更好