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();
推荐阅读
- unreal-engine4 - UE4 - 使用 mixamo 的新手问题 abt 工作流程
- java - 如何解决 unresolve 依赖 ':app@debug/compileClasspath': 无法解析 com.google.android.gms:play-services-base:[15.0.0, 16.0.0)
- python - 如何在 Spark 中使用用户定义模式创建 DataFrame
- java - 在 java/spring boot 中的 HTTP GET 请求中发送 JSON 正文
- python - 使用 pandas.read_excel 读取 excel 时转换科学记数法(十进制值中的字母)
- c# - 刷新页面 PopAsync()
- lua - var 中的 var = var 中的 var + 1
- c++ - 使用 std::hash
对于自定义类 - javascript - 从 Vue 中添加 Google 跟踪代码管理器(在获得同意后)
- java - 使用 Spring Kafka 编写的单元测试 Kafka Consumer