<!DOCTYPE html> <html> <head> <title></title> </head> <body> <button>我是按钮1</button> <button>我是按钮2</button> <button>我是按钮3</button> <script type="text/javascript"> /* 在ES6中如果在循环中通过let定义的变量, 那么这个变量是一个局部变量 */ /*var list=[]; for(var i=0;i<3;i++) { var fn=function test() { console.log(i); } list.push(fn); } list[0](); list[1](); list[2]();*/ //不是闭包,执行完循环在执行函数 /* var list=[]; for(let i=0;i<3;i++) { var fn=function test() { console.log(i); } list.push(fn); } list[0](); list[1](); list[2]();*/ // 注意点: 在ES6中由于{}是块级作用域, 所以只要在块级作用域中定义了一个函数 // 并且这个函数中用到了块级作用域中的数据, 那么这个函数就是闭包 // 是闭包,保存着每一次循环的值,找相对应的值就行了 </script> </body> </html>
dom啦 循环索引同步2
关注
打赏