Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改全局对象的值_Javascript_Jquery_Object_Global Variables - Fatal编程技术网

Javascript 更改全局对象的值

Javascript 更改全局对象的值,javascript,jquery,object,global-variables,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

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

下面是代码的一小部分

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
时,
character.gender
的值不会改变

我的错误在哪里?我能做些什么来修复它

我看到了这些关于这个问题的话题:

  • 全球范围

  • JavaScript中的引用和值

  • 异步流

他们说得对吗


您可以使用localStorage设置一个项(在本例中是一个对象),并在另一个页面中获取该项,然后在修改对象属性时将其加载并分配给本地对象,以替换localStorage对象

您是否在不同的页面中加载第一个和第二个模块?如果是,则全局变量将不起作用,您应该尝试使用LocalStorages将函数作为参数传递给
。在()
上,函数作为匿名函数传递-您添加的名称没有任何意义。如果想要命名函数,请分别声明它们,然后将函数名作为参数传递。另外,请编辑您的问题,以显示相关的HTML和CSS,以便我们可以复制您的问题。此外,您提到退出
firstModule
,但您没有发布任何带有该标识符的内容。感谢所有人的回答。我用代码笔更新了帖子。问题是,如果我尝试在另一个文件中使用对象{character},与此不同,该对象等于其开始条件,尽管此文件在javascript代码中看到的所有函数和动画之后都是打开的。就像全局变量在整个过程中都不会更新一样。我希望我说得够清楚了