关于动态创建movieClip中的onRollOver的有关问题

关于动态创建movieClip中的onRollOver的问题functionpopup(sindex){trace(sindex0}for(varj0j3j++){

关于动态创建movieClip中的onRollOver的问题
function   popup(sindex)
{
      trace(sindex0;
}


for   (var   j   =   0;   j   <=   3;   j++)
{  
      _root.attachMovie( "star ", "star_ "   +   i,i)
      _root[ "star_ "   +   j].onRollOver=function(){
          popup(j);
      }
}
为什么这样的代码,每次trace出来的数值都是3???
而我期望   不同的clip,trace出来的数值都是不一样

[解决办法]
j在for循环完后就是3了,当然在调用popup函数时,每次输出都是3了。
try this:
function popup(sindex)
{
trace(sindex);
}


for (var j = 0; j <= 3; j++)
{
_root.attachMovie( "star ", "star_ " + j,j)
_root[ "star_ " + j].id=j;
_root[ "star_ " + j].onRollOver=function(){
popup(this.id);
}
}