Javascript意外结果

Javascript意外结果,javascript,Javascript,我正在做一个有点挑战性的练习,我只是觉得在这里寻求帮助可能是个好主意。我知道这对你们大多数人来说可能是一个非常简单的问题,但由于我还不熟悉编码,希望这不会给你们带来太多麻烦 下面是我与练习相关的代码。在我看来,代码不应该运行,因为没有指定变量。问题是代码运行时,控制台会可视化一些结果 我假设我的条件语句有问题,但可能是错的 var-room='gallery'; var疑犯=‘Van Cleve女士’; var武器=“”; var=false; 如果(房间==‘台球室’){ 武器=‘台球棍’;

我正在做一个有点挑战性的练习,我只是觉得在这里寻求帮助可能是个好主意。我知道这对你们大多数人来说可能是一个非常简单的问题,但由于我还不熟悉编码,希望这不会给你们带来太多麻烦

下面是我与练习相关的代码。在我看来,代码不应该运行,因为没有指定变量。问题是代码运行时,控制台会可视化一些结果

我假设我的条件语句有问题,但可能是错的

var-room='gallery';
var疑犯=‘Van Cleve女士’;
var武器=“”;
var=false;
如果(房间==‘台球室’){
武器=‘台球棍’;
如果(嫌疑犯==‘帕克斯先生’)
已解决=正确;
}否则,如果(房间==‘画廊’){
武器=‘奖杯’;
如果(嫌疑犯=='Van Cleve女士')
已解决=正确;
}
如果(已解决){
console.log(嫌疑犯+'在“+房间+”中用“+武器+”!”);
}

//结果是“Van Cleve女士带着奖杯在画廊里做到了!”
您的代码结果不取决于武器。看看你定义了什么

var-room='gallery';
var疑犯=‘Van Cleve女士’;
var武器=“”;
var=false;
以及
else if
代码的一部分

}如果(房间=='gallery'){//TRUE
武器=‘奖杯’;
如果(嫌疑犯=='Van Cleve女士')//TRUE
solved=true;//所以现在solved是true
}
由于
已解决
为真,您将获得控制台输出,因为

if(已解决){
console.log(嫌疑犯+'在“+房间+”中用“+武器+”!”);
}

“未定义var武器”vs
var武器=“”在第三行。请保持一致
var定义了武器
。我在这里看不到任何问题,我可以运行您的代码并实现您的期望。@@我在这里看不到任何问题,武器也定义了,但为空,即使您不声明武器,您的代码也会工作,因为js变量