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

Javascript 停止函数运行

Javascript 停止函数运行,javascript,Javascript,各位: 我有以下代码: let button = document.querySelector("#button"); function outer() { let counter = 0; return function() { counter ++; console.log(counter) if (counter === 5) { console.log("Five") return; }; } } let incr

各位:

我有以下代码:

let button = document.querySelector("#button");

function outer() {
  let counter = 0;
  return function() {
    counter ++;
    console.log(counter)
    if (counter === 5) {
      console.log("Five")
      return; 
    };
  }
}

let increase = outer();

button.addEventListener("click", increase); 

我想问用户是否想继续玩下去。如果答案是肯定的,计数器将设置为0,游戏将重新开始;但是,如果答案为“否”,则该功能将停止。问题是,当计数器等于5时,函数不返回。为什么?

一旦
计数器
变量的值达到5,就必须删除单击侦听器

let button=document.querySelector(“按钮”);
函数外部(){
设计数器=0;
返回函数(){
计数器++;
控制台日志(计数器)
如果(计数器==5){
控制台日志(“五”)
按钮。removeEventListener(“单击”,增加);/**删除侦听器**/
};
}
}
让增加=外部();
按钮。addEventListener(“单击”,增加)

单击我
一旦
计数器
变量的值达到五,您必须删除单击侦听器

let button=document.querySelector(“按钮”);
函数外部(){
设计数器=0;
返回函数(){
计数器++;
控制台日志(计数器)
如果(计数器==5){
控制台日志(“五”)
按钮。removeEventListener(“单击”,增加);/**删除侦听器**/
};
}
}
让增加=外部();
按钮。addEventListener(“单击”,增加)

单击我
你说的“函数不返回”是什么意思?它返回的正是您编程要返回的内容:
undefined
。当然,人们可以随时点击,因为一旦点击
计数器===5
,就不会从按钮中删除事件侦听器。使用类、构造函数或对象文本创建一个
新的
对象。使用方法设置属性值。“函数不返回”是什么意思?它返回的正是您编程要返回的内容:
undefined
。当然,人们可以随时点击,因为一旦点击
计数器===5
,就不会从按钮中删除事件侦听器。使用类、构造函数或对象文本创建一个
新的
对象。使用方法设置属性值。