Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定javascript函数的第一次运行?_Javascript - Fatal编程技术网

如何确定javascript函数的第一次运行?

如何确定javascript函数的第一次运行?,javascript,Javascript,我有一个javascript函数,我需要确定函数第一次运行的时间。我怎么能这么做 function myFunction(){ if (first_time){ //do something } else { ........... } } 您可以尝试以下方法: var first_time = true; function myFunction(){ if (first_time){ first_time = false; // ... } else {

我有一个javascript函数,我需要确定函数第一次运行的时间。我怎么能这么做

function myFunction(){
if (first_time){ //do something   }

else { ........... }

}
您可以尝试以下方法:

var first_time = true;

function myFunction(){

  if (first_time){
    first_time = false;
    // ...
  } else {
    // ...
  }

}
您可以尝试以下方法:

var first_time = true;

function myFunction(){

  if (first_time){
    first_time = false;
    // ...
  } else {
    // ...
  }

}

定义在每次调用函数时递增的全局变量:

var nbCall= 0;
function myFunction(){
if (nbCall==0){ 
nbCall++;
 //do something   }

else { ........... }

}

定义在每次调用函数时递增的全局变量:

var nbCall= 0;
function myFunction(){
if (nbCall==0){ 
nbCall++;
 //do something   }

else { ........... }

}

您可以创建伪静态函数属性并检查其存在性:

function myFunction(){
  if (!myFunction.didrun){ 
    //do something   
    myFunction.didrun = true;
  }
  else { ........... }
}

您可以创建伪静态函数属性并检查其存在性:

function myFunction(){
  if (!myFunction.didrun){ 
    //do something   
    myFunction.didrun = true;
  }
  else { ........... }
}

调用函数后,可以将全局变量设置为true

var globalVar = false;

function myFunction(){
    globalVar = true;
    if (first_time){ //do something   }

    else { ........... }

    }
}

调用函数后,可以将全局变量设置为true

var globalVar = false;

function myFunction(){
    globalVar = true;
    if (first_time){ //do something   }

    else { ........... }

    }
}

很明显,由于我的个人表现要求,我很晚才参加聚会,我发现这些答案令人不满意;只有在高度优化的情况下(例如,软件光线跟踪),初始第一次运行才是有条件的浪费

我正在使用以下命令:

function myFunction_theRest(){

   ...

}

function myFunction_first(){

   ...

   myFunction = myFunction_theRest;
}

var myFunction = myFunction_first;

很明显,由于我的个人表现要求,我很晚才参加聚会,我发现这些答案令人不满意;只有在高度优化的情况下(例如,软件光线跟踪),初始第一次运行才是有条件的浪费

我正在使用以下命令:

function myFunction_theRest(){

   ...

}

function myFunction_first(){

   ...

   myFunction = myFunction_theRest;
}

var myFunction = myFunction_first;

这是在单个上下文中运行还是页面在两者之间重新加载?请注意:您无意中注释掉了if语句后面要执行的语句的右括号。您还应该正确缩进if和else语句,因为它们位于嵌套范围内;它使代码更易于阅读。这是在单个上下文中运行还是页面在两者之间重新加载?请注意:您无意中注释掉了if语句后面要执行的语句的右括号。您还应该正确缩进if和else语句,因为它们位于嵌套范围内;它使代码更易于阅读。可爱,不依赖外部/全局变量。我不知道你能做到这一点。我喜欢你的didrun布尔值是某种封装的是的,函数,就像js中的其他几乎所有东西一样,都是对象的实例,这就是为什么这是可能的。myFunction.didrun会在第一次运行时返回false吗?你需要检查它是否未定义吗?@Liam:否,如果属性未设置,则默认情况下未定义,因此如果!myFunction.didrun应该足够了。可爱,不依赖外部/全局变量。我不知道你能做到这一点。我喜欢你的didrun布尔值是某种封装的是的,函数,就像js中的其他几乎所有东西一样,都是对象的实例,这就是为什么这是可能的。myFunction.didrun会在第一次运行时返回false吗?你需要检查它是否未定义吗?@Liam:否,如果属性未设置,则默认情况下未定义,因此如果!myFunction.didrun应该足够了。