2015-05-01 46 views
2

例如,我有一個變量,每次運行該函數時都應該增加一個變量。我希望變量初始值爲0,但每次調用該函數時都會增加1。我不想給變量的全局作用域,但是很明顯,如果我在函數內聲明它,它會在每次被調用時重置爲0。 有沒有一種簡單而有效的方法來在JavaScript中做到這一點?在運行函數的第一個實例時設置變量的值

我的javascript:

function myFunction(){ 
 
\t var i=0; 
 
\t //Body of function 
 
\t i++; 
 
}

回答

7

您可以設置函數對象本身的價值,這樣

function myFunction() { 
    myFunction.i = myFunction.i || 0; 
    myFunction.i++; 
} 

或者,你可以使用閉合,這樣

var myFunction = (function() { 
    var i = 0; 
    return function() { 
     // `myFunction` will be this function only and it increments the 
     // `i` from the enclosed function. 
     i++; 
    } 
})(); 
+0

輝煌..第一個功能的jsfiddle https://jsfiddle.net/4hjkg79e/ – Onimusha

相關問題