第二个比第一个好吗?
第一:
var count:int=myArray.length; for(var i:uint=0;i第二:
var count:int=myArray.length; var str:String; var somethingElse:Class; var andAnotherThing:MyInstance; for(var i:uint=0;i谢谢.
1> Peter..:在Actionscript和Javascript中,变量的作用域是函数,而不是块.它被称为可变吊装.
ActionScript 3.0变量
缺少块级范围的一个有趣含义是,只要在变量在函数结束之前声明,就可以在变量声明之前读取或写入变量.这是因为一种称为提升的技术,这意味着编译器将所有变量声明移动到函数的顶部.
因此,无论您在函数中声明变量的位置如何,您的代码都将如此有效:
var count:int; var str:String; var i:uint; var somethingElse:Class; var andAnotherThing:MyInstance; count = myArray.length; for(i=0;i尽管如此,我仍然更愿意在使用它们的块中声明我的变量,主要是出于维护原因和一般清晰度.