关于闭包的问题
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script>
$(function(){
var t =function(i){
$('#'+i).toggle(
function(){alert(i)},function(){alert(i)}
)
}
for(var i =0;i<2;i++){
t.call(this,i)
}
})
</script>
</HEAD>
<BODY>
<div id='0'>dd1</div><div id='1'>dd2</div>
</BODY>
</HTML>
把上面js换成
$(function(){
for(var i =0;i<2;i++){
$('#'+i).toggle(
function(){alert(i)},function(){alert(i)}
)
}
})
你会发现上下alert是不一样的,我觉得下面的代码会alert出来2是应为闭包的作用,但是上面这样写难道就没有闭包了吗?有懂得高人解释下吗