避免两次射击的功能

时间:2016-06-18 13:30:25

标签: javascript jquery

a

我有2页,它们都包含具有全局功能的global.js。由于某些原因,我必须在两个地方运行global(),如何阻止它发射两次?像第1页是布局,它将始终首先运行global()。因此,如果全局已经触发,请不要在我访问第2页时再次触发它。页面3,4,5等将运行布局的global(),这样它就不会发生冲突。我担心的是第2页。

1 个答案:

答案 0 :(得分:1)

只要您的JS文件只加载一次,您就可以执行以下操作:

您可以为函数指定属性,就像对象一样。

在下面的示例中,我添加了一个默认值为executed的属性false。执行函数内容时,executed设置为true,因此下次调用函数时,if语句将确保函数立即返回。



function global() {
  if (global.executed) {
    return;
  }
  global.executed = true;
  // your code here ...
}
global.executed = false;




但是,如果两个页面都独立加载JS文件,则必须记住该函数是否在静态调用,例如在localStorage,cookie或服务器上。