<!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>