日期:2014-05-16  浏览次数:20512 次

请教一个javascript变量作用域的问题!
先看我的代码:

var Obj = {
i : 1,
getI : function(){
return this.i;
},
getIAdd1 : function(){
return this.i + 1;
}
};
Obj.i = 2;
alert(Obj.getIAdd1());


想让Obj里面的i属性不被外界访问到,但是内部那两个函数要用到i,代码该怎么改。这就是js闭包的问题吗?
万分感谢!
javascript 闭包?

------解决方案--------------------
function Test(){
var i=1;
this.getI=function(){
return i;
}
this.getIAdd=function(){
return i+1;
}
}
var o=new Test();
o.i=2;
alert(o.getI());
alert(o.getIAdd());
这样试试