2014-03-14 30 views
0

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

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

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

} 
+1

这是在单个环境下运行还是页面重新加载inbetween? – Liam

回答

6

您可以创建一个伪静态功能特性和检查其是否存在:

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

可爱的,不依赖于外部/全局变量。我不知道你可以做到这一点。 –

+0

我喜欢你的didrun布尔类型是封装的 – Jorg

+1

是的,像js中的几乎所有其他函数一样,都是Object的实例,这就是为什么这是可能的。 – KooiInc

0

你可以尝试使用:

var first_time = true; 

function myFunction(){ 

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

} 
0

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

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

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

} 
2

一旦函数被调用,您可以将全局变量设置为true。

var globalVar = false; 

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

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

    } 
} 
相关问题