检查下面的代码。我两次调用once()函数,而console.log()运行一次。但是,在运行脚本之后,直到刷新html页面,此once()函数才会再次运行。现在,您能告诉我如何使该函数成为-我将始终调用该函数两次,并且它将仅在第一次运行该函数,并且它将继续运行而无需刷新html页面。任何想法?

JS代码:

var once = function() {
    if(once.done) return;
    console.log('Doing this once!');
    once.done = true;
};

once(); once();

最佳答案

由于这种情况,您无法两次调用此函数,然后将其设置为true。目前,这正在按预期方式工作。

要使其正常工作,您需要设置once.done= false,然后再次调用function。

下面是工作代码:



var once = function() {
  if (once.done) return;
  console.log('Doing this once!');
  once.done = true;
};

once();
once.done = false;
once();

关于javascript - 双重调用的javascript函数,但只能运行一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51800275/

10-09 19:58