javascript - 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>
解决方案
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); }`
推荐阅读
- python - 我可以在 python 中问一个问题并在 bash 中回答它,(你在搜索什么?拿 bash 答案并搜索一个文件?
- authentication - Pentaho 数据集成不支持 IAM 在 S3 输出文件步骤中进行授权
- sql - 将插入的参数传递给触发函数
- javascript - 使用 Array.prototype.filter() 不会对数组数组进行重复数据删除
- scala - creating a function, that takes a function as a paramter and calls it on each linkedlist item
- python-3.x - How do I decode a dictionary of bytes to utf-8?
- javascript - sqlite where 子句“AND”和“IN”
- python - 使用索引和掩码数组计算多维数组的平均值
- c - Why is my program not displaying any output?
- html - Is it possible to have an unordered list with bullets inside and hanging indent?