
var i;
for(i=0; i< nodes.length; i+=1){
var index = i;
nodes[i].onclick = function(e){
alert(index);
}
}
};
首先你要清楚,for循环是一次执行到底,cpu能处理多快,它就运行有多快。那么当add()被调用到你点击鼠标触发 nodes[i].onclick这个函数时,循环已经完成,此时i为最大值。你的function(e){alert(i); }直到点击时才被运行,在它的作用域链中能找到的i是只能是最大值。至于怎么解决你再看书吧
这个东西会执行么?