我有一个函数,该函数存在于两个JS文件中。两个文件都在页面加载时加载。这就是为什么这个函数调用2次。我需要从任何文件中调用一次。一旦它从任何文件调用,它就不会再次调用。我需要在两个文件中保留该功能,不能从任何文件中删除。有人可以帮我吗?谢谢!
答案 0 :(得分:1)
正如多位评论者指出的那样,你真的应该重构你的代码,这样你就不会重复它。
那说,有可能是黑客攻击。如果你真的无法删除它,你可以找到一种方法来使你的函数具有幂等性(至少在某种意义上它可以重复调用,没有任何不利影响)。您可以使用存储在某处的布尔标志,该标志从false翻转为true。然后在你的函数中,你只需用那个标志来保护你的操作。
var has_been_called = false;
function run() {
if (!has_been_called) {
//the rest of your code
has_been_called = true;
}
}
在第一次运行时,代码将执行,而后续调用则不会。