若對您有用,請贊助個棒棒糖~ ...
//定義自增計數器,初始值是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()時,已經有了實例了,只是執行預設的返回函數。
不一定對,不過應該有助於記憶。
若對您有用,請贊助個棒棒糖~