首页 > 解决方案 > 用于双重调用但只运行一次的javascript函数

问题描述

检查下面的代码。我调用once()函数两次并console.log()运行一次。但是在我运行脚本之后,这个once()函数在我刷新 html 页面之前不会再次运行。现在你能告诉我如何使这个函数成为 - 我总是调用那个函数两次,它只会第一次运行那个函数,它会在没有 html 页面刷新的情况下继续运行。任何想法?

JS代码:

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

once(); once();

标签: javascript

解决方案


由于条件,您无法两次调用此函数,然后将其设置为true目前这正在按预期工作

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

以下是工作代码:

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

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


推荐阅读