在AS3中循环或循环之前声明变量?

时间:2010-11-09 17:00:56

标签: actionscript-3 variables for-loop

我应该在循环之前声明_mcContainer var还是不? (业绩增加?)

for(var i:uint = _startIndex; i <= _endIndex; ++i){    
    var _mcContainer:MovieClip = _mcParent["i_" + _position];
}

var _mcContainer:MovieClip;
for(var i:uint = _startIndex; i <= _endIndex; ++i){
    _mcContainer = _mcParent["i_" + _position];
}

1 个答案:

答案 0 :(得分:6)

测试不难......

...但是根据文档,它不应该有任何区别,因为变量声明无论如何都会被提升到方法块的顶部。

来自the docs

  

缺少块级范围的一个有趣含义是,只要在函数结束之前声明了变量,就可以在变量声明之前读取或写入变量。这是因为一种称为提升的技术,这意味着编译器将所有变量声明移动到函数的顶部。