Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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_Css_Html_Boolean - Fatal编程技术网

Javascript 布尔变量未声明?

Javascript 布尔变量未声明?,javascript,css,html,boolean,Javascript,Css,Html,Boolean,重写一个用HTML5、CSS和JavaScript联合编写的程序有点棘手。现在有一件事让我非常困惑,那就是我创建了一个名为isGame的变量,其值为true或false var pageNumber = 0; var isGame = false; function setContent() { 代码最初给它一个值false,在某些页面(visa vie apageNumber变量带有数值),它应该是false。我不确定我打错了什么,但它不起作用 代码如下: function setCont

重写一个用HTML5、CSS和JavaScript联合编写的程序有点棘手。现在有一件事让我非常困惑,那就是我创建了一个名为
isGame
的变量,其值为
true
false

var pageNumber = 0;
var isGame = false;

function setContent() {
代码最初给它一个值
false
,在某些页面(visa vie a
pageNumber
变量带有数值),它应该是
false
。我不确定我打错了什么,但它不起作用

代码如下:

function setContent() {
  if (pageNumber == 1) {
    var isGame = false;
    document.getElementById("ng_audiocontainer").innerHTML = '<audio autoplay="autoplay"><source id="ng_intro" src="audio/example"></audio>';
    currentAudio = document.getElementById("ng_intro");
    document.getElementById("ng_body").innerHTML = '<img src="images/example.png" id="ng_logo">';
    document.getElementById("ng_lipsbutton").style.display = "none";
  }
}
下面当然是上面的函数。当点击某些东西时,会调用
isGame
,其中一些是“错误的”,另一些是“正确的”,但我只希望它们能够在
isGame==true
时对点击做出反应。这是代码:

function rightLetter() {
  if (isGame == true) { 
    pageNumber++;
    setContent(); 
  }    

每次调用函数时都会覆盖
isGame
var。试试这个:

var isGame = false; // Declare your boolean var first

function setContent() {

    if (pageNumber == 1) {

        isGame = true; // Update your var here, to true or false
        document.getElementById("ng_audiocontainer").innerHTML = '<audio autoplay="autoplay"><source id="ng_intro" src="audio/example"></audio>';
        currentAudio = document.getElementById("ng_intro");
        document.getElementById("ng_body").innerHTML = '<img src="images/example.png" id="ng_logo">';
        document.getElementById("ng_lipsbutton").style.display = "none";

    }
}
var isGame=false;//首先声明布尔变量
函数setContent(){
如果(页码==1){
isGame=true;//在此处将变量更新为true或false
document.getElementById(“ng_audiocontainer”).innerHTML='';
currentAudio=document.getElementById(“ng_简介”);
document.getElementById(“ng_body”).innerHTML='';
document.getElementById(“ng_lipsbutton”).style.display=“无”;
}
}

您没有发布完整的功能。但是,由于您在函数内部使用
var
声明
isGame
,因此脚本外部的任何
isGame
声明都将被隐藏,并且不受函数中代码的影响。那么,您通常使用
var
声明它,此类变量应在函数外部声明/初始化。您是否可以发布更多代码,以显示最初设置变量的位置以及检查变量值的位置?不确定您被否决的eff的原因,您的解决方案是否有效。我也不知道:(