闭包案例
从开源上看到有人写了一个简单的闭包案例,对理解闭包有很多帮助。稍加修改如下:
<!DOCTYPE html > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>闭包练习</title> <script type="text/javascript"> function wenyi(){ var i = 0; function b(){ alert(i++); }
return b; } function putong(){ var i = 0; alert(i++); } var bibao = wenyi(); </script> </head> <body> <a href="javascript:;" onclick="bibao();">闭包操作</a> <br/> <a href="javascript:;" onclick="putong();">普通操作</a> </body> </html>
操作步骤:
1、第一次点击闭包操作,alert出0; 第一次点击普通操作,alert出0.
2、第二次点击闭包操作,alert出1; 第二次点击普通操作,alert出0.
3、第三次点击闭包操作,alert出2; 第二次点击普通操作,alert出0.
闭包概念:
函数wenyi外面的变量 bibao引用了wenyi内的函数b.