如何只调用一次函数

时间:2015-11-18 00:04:56

标签: javascript jquery

我有一个函数,该函数存在于两个JS文件中。两个文件都在页面加载时加载。这就是为什么这个函数调用2次。我需要从任何文件中调用一次。一旦它从任何文件调用,它就不会再次调用。我需要在两个文件中保留该功能,不能从任何文件中删除。有人可以帮我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

正如多位评论者指出的那样,你真的应该重构你的代码,这样你就不会重复它。

那说,有可能是黑客攻击。如果你真的无法删除它,你可以找到一种方法来使你的函数具有幂等性(至少在某种意义上它可以重复调用,没有任何不利影响)。您可以使用存储在某处的布尔标志,该标志从false翻转为true。然后在你的函数中,你只需用那个标志来保护你的操作。

var has_been_called = false;

function run() {
  if (!has_been_called) {
    //the rest of your code
    has_been_called = true;
  }
}

在第一次运行时,代码将执行,而后续调用则不会。

相关问题