更改全局对象的值

时间:2018-08-17 12:54:32

标签: javascript jquery object global-variables

我知道这个问题被问了很多遍,并且我读了很多关于这个问题的答案。但是我无法以正确的方式更新此全局属性对象。

这是代码的一小部分

var character = {
  image: "",
  gender: "",
  name: "",
  past: "",
  job: "",
  health: 0,
  mana: 0,
  hit: 0
};

/* character creation, first module */

$(".select").on("click", function firstSection() {
  $(".select").slideUp();
  character.gender = (this.id);
  alert(character.gender);
  $(".section1").fadeOut();
  $(".section2").show();

});

$(".textPast").on("click", function secondModule() {
  var color = $(this).css("background-color");

  control();

  $(this).css("background", "white");
  $(this).css("color", "black");
  character.past = (this.id);
  count++;
  check++;
});

问题是:

当我退出函数firstModule或尝试在另一个js文件中提醒属性character.gender时,之后我启动了函数firstModule的值{{ 1}}不变。

我的错误在哪里?我该如何解决?

我看到了有关此问题的以下主题:

  • 全局范围

  • JavaScript中的引用和值

  • 异步流

他们正确吗?

Codepen

1 个答案:

答案 0 :(得分:0)

您可以使用localStorage设置项目(在这种情况下为Object),并在加载另一个页面时将该项目获得,然后将其分配给本地对象,只要您修改对象的属性,就替换掉localStorage对象。