理解javascript闭包中的一个点

checkscope=(
function()
{
var counter=0;
return function()
         {
          return counter++;
          };
}
()
);

以及

checkscope=(
function()
{
var counter=0;
return function()
          {
          return counter++;
           };
}
);

 以及

 1 function addPrivateProperty(o,name,predicate){
 2     var value;
 3     o["get"+name]=function(){return value;};
 4     o["set"+name]=function(v){
 5         if(predicate&&!predicate(v))
 6         throw  Error("set"+name+":invalid value"+v);
 7         else
 8         value=v;
 9     };
10     
11 }
12     var o={};//设置一个空对象
13     //增加属性存取器方法getName() 和setName()
14     //确保只允许字符串值
15     addPrivateProperty(o,"Name",function(x){return typeof x=="string";});
16 o.setName("Frank");

 

posted @ 2015-06-20 19:59  何似王  阅读(89)  评论(0)    收藏  举报