标签:
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>
标签:
原文地址:http://www.cnblogs.com/terry01/p/4686737.html