您的位置:首页 > 其它

使用 let 解决for 循环闭包 i变量问题

2016-08-18 09:52 531 查看
当let块范围变量出现后,可以方便解决 for循环i变量绑定问题,demo 如下

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>let 解决for 循环闭包变量问题</title>
<script type="text/javascript">
function init() {
var pAry = document.getElementsByTagName("p");
for (let i = 0; i < pAry.length; i++) {
pAry[i].onclick = function () {
alert(i);
}
}
}
</script>
</head>
<body onload="init();">
<p>产品一</p>

<p>产品二</p>

<p>产品三</p>

<p>产品四</p>

<p>产品五</p>
</body>
</html>


参看文档 http://www.cnblogs.com/syf/archive/2012/10/04/2711828.html

https://msdn.microsoft.com/zh-cn/library/dn263046(v=vs.94).aspx

http://www.108js.com/article/article1/10177.html?id=899

函数内部访问了与函数同级的变量,那么该变量是常驻内存的。访问该变量实质上是访问的是变量的地址;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: