2014-03-14 64 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 { ........... } 

    } 
} 
相關問題