Javascript关闭

Sal*_*DIO 8 javascript closures

这是一个代码

var collection = (function (){
                var x = 0;
                return {
                    y : x,
                    get : function(){return x},
                    set : function(n) { x = n}                        
                }
              }());

collection.set(1000);
Run Code Online (Sandbox Code Playgroud)

为什么collection.y != collection.get()

Amr*_*mro 8

ý不是"指针",以X.在创建闭包时,您只需将当时x的值复制到y中,每次调用get()/set()时,只能对x进行操作(与y无关)


Dan*_*ura 4

当您调用 collection.set(1000) 时,您没有设置集合 y