2012-11-07 71 views
-3

如果我打電話的2〜3倍的功能,如:檢查當最後一個功能

somefunction(); 
somefunction(); 

我怎麼能知道當最後一次函數被調用?
我在問,因爲我想讓最後一個功能做更多的事情。

+0

「上次」是什麼意思?今天最後一次?上次永遠嗎?去年11月的最後一次?你究竟想要做什麼? – Pointy

回答

5

傳遞決定了功能是否應該做「一件事」

somefunction(false); 
somefunction(true); 
+0

但如果它被稱爲別的地方呢? – gskartwii

+0

如果它是從多個地方調用的,並且無法預測調用的發生順序,那麼@Guffa建議的計時器選項可能會起作用。但是,我會退後一步,詢問是否可能「多做一件事」功能應該是一種由其他方式觸發的單獨功能(例如,頁面加載完成等) – cbranch

0

你可以設置一個當函數被調用的超時參數,那麼代碼將盡快稱爲你離開你第一個功能控制返回到瀏覽器:

var timer = null; 
function somefunction() { 
    // do something 
    if (timer == null) { 
    timer = window.setTimeout(function(){ 
     // do one last thing 
    }, 0); 
    } 
} 

演示:http://jsfiddle.net/Guffa/Fa5j3/

0

你不會知道這一點。

如果知道它被調用的頻率,可以倒數一個變量。

如果您不知道被調用的頻率,可以啓動超時並調用特殊功能。如果再次調用某個函數,則取消舊的超時並開始新的超時。