我有一个javascript函数,我需要确定函数第一次运行的时间。我怎么能这样做?
function myFunction(){
if (first_time){ //do something }
else { ........... }
}
答案 0 :(得分:8)
您可以创建伪静态函数属性并检查其是否存在:
function myFunction(){
if (!myFunction.didrun){
//do something
myFunction.didrun = true;
}
else { ........... }
}
答案 1 :(得分:1)
您可以尝试:
var first_time = true;
function myFunction(){
if (first_time){
first_time = false;
// ...
} else {
// ...
}
}
答案 2 :(得分:1)
一旦调用了函数,就可以将全局变量设置为true。
var globalVar = false;
function myFunction(){
globalVar = true;
if (first_time){ //do something }
else { ........... }
}
}
答案 3 :(得分:1)
显然很晚才参加聚会,由于我的个人表现要求,我发现这些答案令人不满意;最初的首次运行条件是浪费的(仅在超优化的情况下,例如软件光线跟踪)。
我正在使用以下内容:
function myFunction_theRest(){
...
}
function myFunction_first(){
...
myFunction = myFunction_theRest;
}
var myFunction = myFunction_first;
答案 4 :(得分:0)
定义一个全局变量,它将在函数的每次调用中递增:
var nbCall= 0;
function myFunction(){
if (nbCall==0){
nbCall++;
//do something }
else { ........... }
}