1.闭包:延长变量的作用域和保存随时改变的值
代码:
<ul>
<li><a href="#">点击第0个链接</a></li>
<li><a href="#">点击第1个链接</a></li>
<li><a href="#">点击第2个链接</a></li>
<li><a href="#">点击第3个链接</a></li>
<li><a href="#">点击第4个链接</a></li>
</ul>
var links = document.getElementsByTagName('a');
方法1:
function closureTest(num){
return function(){
alert("你点击了第" + num + "个链接");
}
}
for(var i=0;i<links.length;i++){
links[i].onclick = closureTest(i);
}
方法2:
for(var i=0;i<links.length;i++){
links[i].onclick = (function(i){
return function(){
alert("你点击了第" + i + "个链接");
};
})(i)
方法3:
// (function(i){
// links[i].onclick = function(){
// alert("你点击了第" + i + "个链接");
// };
// })(i)
}