首页 > 解决方案 > Javascript clearInterval 不适用于变量

问题描述

所以我正在尝试制作一种游戏。当用户单击开始按钮时会出现一个提示窗口。用户输入一个介于 1 到 9 之间的数字。然后出现三个数字,它们每秒都在变化。如果用户点击他们选择的数字,他们将获得一分。当用户单击停止时,间隔停止。但是在我的情况下,间隔根本没有停止。这是代码示例

var callback;
var call=window.setInterval(callback,3000);
function Start(){//prompts,does validation and then setsinterval as so 
(function(){
  callback=function(){
  //declares numbers
  };
  callback();
  window.setInterval(callback,3000);
  })();
  }
  function Stop(){
    clearInterval(call);
        }
<button type="button" onclick="Start()">Start Game</button>
<button type="button" onclick="Stop()">Stop Game</button>

标签: javascriptsetintervalclearinterval

解决方案


JavaScript 是一种区分大小写的语言。这意味着语言关键字、变量、函数名和任何其他标识符必须始终使用一致的大写字母。对于您的示例,while 关键字必须输入“Start”,而不是“start” `var callback; var call=window.setInterval(callback,3000);

function Start(){//prompts,does validation and then setsinterval as so
      (function(){
        callback=function(){
      //declares numbers
          var Number = prompt("user enters a number between 1 to 9.", "0");

    };
    callback();
    window.setInterval(callback,3000);
  })();
    }

函数 Stop(){ clearInterval(call); }`


推荐阅读