javascript函数可进行两次调用但只运行一次

标签 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();

最佳答案

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

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

下面是工作代码:

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

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

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

相关文章:

javascript - 一起使用隔离范围和嵌入式指令 Controller

javascript - React Redux 状态数组变量作为 prop 传递给子组件,无限循环或空数组

javascript - 试图在我认为是变量的范围内创建 Javascript 链接?

javascript - 检测我网站上的广告拦截然后显示横幅?

Javascript - URL 的奇怪字符串比较行为

javascript - 如何让Div中的所有链接在同一个窗口中打开

javascript - 如何包含框架?

javascript - 什么是 md-component-id?

javascript - 如何使用 D3.js 在 HTML 元素中创建换行符

javascript - javascript中的Promise,使用$q.defer后函数没有执行