Javascript 调整函数中的全局对象属性

Javascript 调整函数中的全局对象属性,javascript,function,object,properties,global-variables,Javascript,Function,Object,Properties,Global Variables,我的问题: 如何让开关识别变量guy的全局对象属性currentSpace? 好的,对于一个项目,我有一个目标,我们叫他盖伊 var guy = new Object (); guy.currentSpace = ""; 我遇到的问题是,在后面的函数中,我更改了guy的值,并将其显示在一个空段落中 function startTheGame () { guy["currentSpace"] = space1.name; var para = document.getElementById("

我的问题: 如何让开关识别变量guy的全局对象属性currentSpace?

好的,对于一个项目,我有一个目标,我们叫他盖伊

var guy = new Object (); 
guy.currentSpace = "";
我遇到的问题是,在后面的函数中,我更改了guy的值,并将其显示在一个空段落中

function startTheGame () {
guy["currentSpace"] = space1.name;
var para = document.getElementById("empty");
guy["currentSpace"] = "Current space: " + space1.name;
para.innerHTML = guy.currentSpace;
};
此代码显示currentSpace的值。但是,在我稍后的switch语句中,开关无法获取guy.currentSpace的值。它应该等于space1,因为我将currentSpace的值从空字符串更改为space1对象的name属性(注意:我有一个单独空间的对象原型,并创建了十个空间对象,所有对象都有一个名称。别担心)

相反,它直接进入默认情况。有点不对劲,它无法更改para的值,因为它
说它是未定义的,但我认为变量para已经声明了,所以我所要做的就是将它赋给其他对象

为什么第一次
中断后的大括号
?中断后的大括号是一个意外,那里曾经有一个if语句。关键是开关无法识别guy.currentSpace值
switch (guy.currentSpace) {
    case "space1":
    space1.visited = true;
    break;
    }

case "space2":
space2.visited = true;
break;

default:
    para.innerHTML = guy.currentSpace;