Function 函数actionscript中的问题

Function 函数actionscript中的问题,function,actionscript-2,Function,Actionscript 2,如何添加随循环中的虚拟变量而变化的变量: function resetAll(menuNum){ trace(menuNum); for (i=0; i<=7; i++){ if(menuNum != 1){ menu_all_mc.this["btn_"+i].gotoAndStop("off"); } } } 这个不起作用 我需要传递btn名称,比如:btn_1和下一个循环btn_2…我严格地猜测我不做Actionscript,而是做JS,但是

如何添加随循环中的虚拟变量而变化的变量:

function resetAll(menuNum){
  trace(menuNum);
  for (i=0; i<=7; i++){
    if(menuNum != 1){
      menu_all_mc.this["btn_"+i].gotoAndStop("off");
    }
  }
}
这个不起作用


我需要传递btn名称,比如:btn_1和下一个循环btn_2…

我严格地猜测我不做Actionscript,而是做JS,但是如果你的I变量保持不变,那么你需要使用闭包来捕获并绑定I:

function resetAll(menuNum){
    trace(menuNum);
    for (i=0; i<=7; i++){
    (function(i){
        if(menuNum != 1){
            menu_all_mc.this["btn_"+i].gotoAndStop("off"); 
        }
    })(i);
    }
}
将计算为true,因为它从未定义过。函数作用域中的此项将引用当前执行上下文,但不使用另一个对象作为其前缀

你能澄清什么对象拥有.btn1等吗

menu_all_mc.this["btn_"+i].gotoAndStop("off");
这不能是一个类的成员,我猜你想要

menu_all_mc["btn_"+i].gotoAndStop("off");
甚至

menu_all_mc[this["btn_"+i]]gotoAndStop("off");

仅供参考:如果不提供预期的结果,说这句话是行不通的,对其他人也没有帮助。用一种你不懂的语言进行测试也没有什么帮助。
menu_all_mc[this["btn_"+i]]gotoAndStop("off");