如何在不调用/未创建listerner函数的情况下增加let变量

时间:2019-06-17 06:32:38

标签: javascript

在javascript中,我们有addEventlister,它侦听一个偶数并调用一个称为侦听器函数的函数。如果在事件被触发的情况下不使用函数来增加“ let变量”的值,是否可以使用另一种方法?

代替此

let clickVar = 0;
x.addEventListener("click", RespondClick);
function RespondClick() { 
            clickVar++;
        }

示例备用实施

x.addEventListner(click);
if (event == true){ clickVar++;  }

======编辑======

回复评论

  

我读得越多,看起来就越像是XY问题-您还想解决其他问题吗?

在我看来,第二种方法更直观。即,除非绝对必要,否则为什么要创建函数。

回复评论

  

第二种方法没有逻辑。您编写的代码将执行一次。如果要多次运行代码,则必须调用一个函数。为了在事件发生时运行功能,您需要一个事件侦听器。

此简单的修改应解决一次性呼叫问题。

x.addEventListner(click);
if (event == true){ clickVar++; event=false; }

但是我要表达的观点是可以避免使用函数,代码可以很容易讲,而不仅仅是编写。

1 个答案:

答案 0 :(得分:1)

您的第二个样本不起作用。这根本不是事件侦听器的工作方式。您必须使用回调函数。如果您认为第一个示例过于冗长,可以使用匿名函数:

let clickVar = 0;

x.addEventListener("click", function() {
  clickVar++;
});

或者在更现代的Java版本中使用箭头功能

x.addEventListener("click", () => {
  clickVar++;
});