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代码中看到的所有函数和动画之后都是打开的。就像全局变量在整个过程中都不会更新一样。我希望我说得够清楚了