setTimeout()没有执行所需的功能?

时间:2019-01-10 02:06:20

标签: javascript html settimeout

我正在为一个学校项目工作,我使用了setTimeout()函数来执行我的perfectWin函数,但它没有执行。我想我曾经使用过正确的语法,但是我是Java语言的新手,所以我可能只是看不到明显的东西。任何帮助或建议,表示赞赏!

我检查了语法以确保一切正确,并且看起来正确。我真的不知道为什么它不起作用。

链接到代码-https://codepen.io/Jacob-Bruce/pen/mQgbXa

    function executeTimeout() {
  setTimeout(flawlessWin, 100);
};  
function flawlessWin() {
   ctx.font = "30px Arial";
   ctx.fillText("Flawless Victory!", canvas.width/3, canvas.height/3)
};
// collision
function collisionDetection() {
  for(var c=0; c<brickColumnCount; c++) {
    for(var r=0; r<brickRowCount; r++) {
      var b = bricks[c][r];
      if(b.status == 1) {
        if(x > b.x && x < b.x+brickWidth && y > b.y && y < 
           b.y+brickHeight) {
          dy = -dy;
          b.status = 0;
          score++;
          // win condition - find out why the AND log. operator isn't 
              working

          if(score == brickRowCount*brickColumnCount) {
              executetimeout();

          }
        }
      }
    }
  }
}

我希望一旦执行超时,便会执行lawlessWin函数。

3 个答案:

答案 0 :(得分:5)

您有错字。您的函数是executeTimeout(),但是当您在

内部调用它时
if (score == brickRowCount*brickColumnCount) {
  executetimeout();
}

超时中的第一个“ t”不大写。 JavaScript区分大小写。

答案 1 :(得分:1)

function executeTimeout() {
  //setTimeout(flawlessWin, 100);
    setTimeout(function () {
         flawlessWin();  
         }, 100);
};
  

我认为您需要使用此语法来使用set timeout函数,希望它能工作。

答案 2 :(得分:0)

JavaScript区分大小写,所以当您说

executetimeout();

应该是

executeTimeout();