function create(){
var a =1
print('create:'+a)
return function(){
print(++a)
}
}
var c = create()
c()
c()
var d = create()
d()
// 输出结果 1 2 3 1 2
我想知道的是,c在返回指向匿名函数指针的时候行成了一个闭包,d也是如此。c和d虽然是两个指向不同地址的函数,可我觉得他、们都会共享同一个create函数的成员变量a,可结果并不是如此,为什么呢
他们并不共享同一个
a
。每次调用 create ,都会生成一个新的a
。