//定义自增计数器,初始值是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#