闭包函数特点:
- 函数嵌套函数
- 内部函数使用外部的形参和变量
- 被引用的形参和变量就不会被 【垃圾回收机制所回收,使内部函数的变量常驻内存中】
window.onload = function(){//闭包实现按钮遍历完后,点击按钮输出对应的键值。 var oBtn = document.getElementsByTagName("button"); for(var i = 0;i < oBtn.length;i++){ oBtn[i].onclick = (function(index){ return function(){ alert(index); } })(i);//这里的i相当于传入函数的参数 所以就是index就是等于i } /* 上面的是简写成立即执行函数的闭包 for(var i = 0;i < oBtn.length;i++){ oBtn[i].onclick = btnClick(i); } //btnClick(0) index = 0 function btnClick(index){ return function(){ alert(index); } } */