浅谈JavaScript for循环 闭包

前端之家收集整理的这篇文章主要介绍了浅谈JavaScript for循环 闭包前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

有个网友问了个问题,如下的html,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5。

闭包演示 产品一

产品二

产品三

产品四

产品五

解决方式有以下几种

1、将变量 i 保存给在每个段落对象(p)上

2、将变量 i 保存在匿名函数自身

3、加一层闭包,i以函数参数形式传递给内层函数

调用时参数 } }

4、加一层闭包,i以局部变量形式传递给内存函数

调用时局部变量 pAry[i].onclick = function() { alert(temp); } })(); } }

5、加一层闭包,返回一个函数作为响应事件(注意与3的细微区别)

函数 alert(arg); } }(i); } }

6、用Function实现,实际上每产生一个函数实例就会产生一个闭包

函数实例 } }

7、用Function实现,注意与6的区别

以上就是小编为大家带来的浅谈JavaScript for循环 闭包全部内容了,希望大家多多支持编程之家~

猜你在找的JavaScript相关文章