考虑这个简单的AS3类。

package
{
     import flash.display.Sprite;
     import flash.display.MovieClip;

     public class MySprite extends Sprite
     {
         private var someMC:MovieClip = new MovieClip();

         public function MySprite()
         {
              super();

              addChild(someMC);
         }
     }
}


还有这个:

package
{
     import flash.display.Sprite;
     import flash.display.MovieClip;

     public class MySprite extends Sprite
     {
         private var someMC:MovieClip;

         public function MySprite()
         {
              super();

              someMC = new MovieClip();
              addChild(someMC);
         }
     }
}


这是同一回事,还是还有更多?

我猜是因为在第一个示例中,MovieClip似乎在调用构造函数之前就已经存在(何时发生这种情况,有没有好处?)。

最佳答案

全部都是一样。编译器将您的第一个示例转换为第二个示例。唯一的区别是,当您将分配放入构造函数时,您可以控制实例化顺序。

09-17 00:03