码迷,mamicode.com
首页 > 编程语言 > 详细

JS语言精粹 函数部分の闭包

时间:2015-07-29 18:52:36      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:

 1 <<!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title></title>
 5     <script type="text/javascript">
 6     /*闭包*/
 7     
 8     //返回了一个包含两个方法的对象,并且这两个方法继续享有访问value的权限
 9     var myObject=function  () {
10         var value=0;
11         return{
12             increment:function(inc){
13                 value+=typeof inc===‘number‘?inc :1;
14             },
15             getValue:function(){
16                 return value;
17             }
18         };
19     }();
20     
21     //函数无需用new来使用,返回一个包含get_status方法的新对象。此函数可以访问它被创建时的上下文环境。这成为闭包。
22     var quo=function(status){
23         return {
24             get_status:function(){
25                 return status;
26             }
27         }
28     };
29     var myquo=quo("amazed");
30     document.writeln(myquo.get_status());
31 
32     //定义一个函数,它设置一个DOM节点为黄色,然后把它渐变为白色
33     var fade=function(node){
34         var level=1;
35         var step=function(){
36             var hex=level.toString(16);
37             node.style.backgroundColor=‘#FFFF‘+hex+hex;
38             if(level<15){
39                 level+=1;
40                 setTimeout(step,100);
41             }
42         };
43         setTimeout(step,100);
44     };
45     fade(document.body);
46     /*****************实例******************************************/
47     var add_the_handlers=function(nodes){
48         var i;
49         for(i=0;i<nodes.length;i+=1){
50             nodes[i].onclick=function(e){
51                 alert(i);
52             };
53         }
54     };
55     var add_the_handlers1=function(nodes){
56         var i;
57         for(i=0;i<nodes.length;i+=1){
58             nodes[i].onclick=function(i){
59                 return function(e){
60                     alert(e);
61                 };
62             }(i);
63         }
64     };
65     var nodes1=document.getElementsByTagName("button");
66     add_the_handlers1(nodes1);
67     </script>
68 </head>
69 <body> 
70     <button>1</button>
71     <button>2</button>
72     <button>3</button>
73     <button>4</button>
74     <button>5</button>
75 </body>
76 </html>

 

JS语言精粹 函数部分の闭包

标签:

原文地址:http://www.cnblogs.com/terry01/p/4686737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!