Javascript的闭包

Javascript的闭包,让人一看就头大

 1 <html>
 2     <head>
 3         <title></title>
 4     </head>
 5     <body>
 6         <script>
 7             var statusObject = function(){
 8                 var value = 0;
 9                 return {
10                     increment : function(inc){
11                         value += typeof inc == 'number' ? inc : 1;     
12                     },    
13                     getValue : function(){
14                         return value;
15                     }
16                 }
17             }();    
18 
19             // 这里最后一行存在一个括号,意思是把调用该函数后的返回结果,赋值给statusObject
20             // 闭包就是让外部可以访问到局部变量
21             
22             statusObject.increment(8);
23             console.log(statusObject.getValue());
24         </script>
25     </body>
26 </html>

匿名函数返回的是一个包含两个方法的对象,并且这些方法继续享有访问value的特权

 

posted on 2014-03-04 16:13  tomastong  阅读(163)  评论(0编辑  收藏  举报

导航