//定義自增計數器,初始值是0,步長是1 var add = (function(){ var counter =0; return function () {counter += 1; return counter;} })(); //調用,每次自增1 add(); //值爲1 add(); //值爲2 add(); //值爲3
爲何只有第一次調用add()時會初始化counter的值呢?思考良久,對比c#裏面的類,以爲應該是這樣的:
第一次執行add()時,無實例,而後就會初始化,而之後再執行add()時,已經有了實例了,只是執行默認的返回函數。
不必定對,不過應該有助於記憶。
若對您有用,請贊助個棒棒糖~c#