Javascript 语句为false时函数仍在工作

Javascript 语句为false时函数仍在工作,javascript,Javascript,我是初学者。我正在编写一个简单的文本冒险游戏。我希望option.onclick仅在scenario==0时工作。它应该为玩家提供基本装备。但即使场景变量大于0,它也能工作,并且在点击另一个选项后,它会给玩家更多的装备。为什么?在谷歌chrome控制台上,它说它大于0,所以我真的不知道现在发生了什么 let字符={ 惠普:100, 设备:“ } var情景=0; let story=document.getElementById(“story”); 让option1=document.getE

我是初学者。我正在编写一个简单的文本冒险游戏。我希望option.onclick仅在scenario==0时工作。它应该为玩家提供基本装备。但即使场景变量大于0,它也能工作,并且在点击另一个选项后,它会给玩家更多的装备。为什么?在谷歌chrome控制台上,它说它大于0,所以我真的不知道现在发生了什么

let字符={
惠普:100,
设备:“
}
var情景=0;
let story=document.getElementById(“story”);
让option1=document.getElementById(“option1”);
让option2=document.getElementById(“option2”);
让option3=document.getElementById(“option3”);
让stats=document.getElementById(“stats”);
stats.innerHTML=“HP:”+character.HP+“%”+”
“+”设备:“+character.device; story.innerHTML=“你的名字是三口广桥。你是雇佣兵。游戏的目标是杀死大名最强大和最富有的石山。你现在正准备攻击他的城堡。你要带什么?”; option1.innerHTML=“带上卡塔纳和舒里肯”; option2.innerHTML=“携带枪支和火药”; option3.innerHTML=“带上弓箭”; 函数游戏(){ 如果(场景==0){ option1.onclick=function(){ 情景++; character.equipment+='[Katana]'; character.equipment+='[Shurikens]'; } option2.onclick=函数(){ 情景++; 字符.设备+='[枪]'; 字符.设备+=“[火药]”; } option3.onclick=函数(){ 情景++; 字符.装备+='[弓]'; character.device+=“[箭头]”; } } 如果(场景==1) { stats.innerHTML=“HP:”+character.HP+“%”+”
“+”设备:“+character.device; story.innerHTML=“几分钟后,你创建了一家酒馆。不幸的是,你没有钱,所以买不起房间。你决定……”; option1.innerHTML=“sdfasfsafsadas”; option2.innerHTML=“sdafsafsa”; option3.innerHTML=“sadfsafdsap”; } 如果(场景==2) { stats.innerHTML=“HP:”+character.HP+“%”+”
“+”设备:“+character.device; story.innerHTML=“hgdgdfhdf”; option1.innerHTML=“xcvbcxbcxbcxvbcx”; option2.innerHTML=“ewrawafsadgas”; option3.innerHTML=“nbcxnxbds”; } window.requestAnimationFrame(游戏); } window.requestAnimationFrame(游戏)
正文
{
保证金:0;
填充:0;
字体系列:“Raleway”,无衬线;
颜色:白色;
线高:150%;
}
#容器
{
高度:300px;
宽度:400px;
保证金:0自动;
边缘顶部:150px;
背景色:#000000;
文本对齐:居中;
}
#统计数据
{
文本对齐:左对齐;
填充:10px;
}
#故事
{
填充:15px;
文本对齐:左对齐;
}
按钮
{
填充:6px;
光标:指针;
边缘顶端:40px;
保证金:3倍;
文本对齐:居中;
}

扭曲的月亮


当“场景”计数器更改时,“单击”处理程序函数不会自行消失。它们仍然有效。如何使它只工作一次?将if(scenario==0)放在每个onclick函数中,因为事件处理程序是直接从if外部调用的。