我经常在AS3类的构造函数中看到一个init(),有时甚至是构造函数中唯一的代码.如果你可以简单地使用构造函数本身来初始化一个类,为什么这样做会有用呢?
package { import flash.display.Sprite; public class Example extends Sprite { public function Example() { init(); } public function init ( ):void { //initialize here } } }
John Lemberg.. 16
在ActionScript 3中,始终解释构造函数代码而不是编译代码.我相信将代码移动到init()函数可能允许它被编译和优化.
http://blog.pixelbreaker.com/flash/as30-jit-vs-interpreted/
在ActionScript 3中,始终解释构造函数代码而不是编译代码.我相信将代码移动到init()函数可能允许它被编译和优化.
http://blog.pixelbreaker.com/flash/as30-jit-vs-interpreted/
我这样做的原因是我可以重新初始化一个类而不创建它的新实例.init()方法基本上是一个"重置"按钮,然后,如果你正确编码,允许你将类返回到其初始状态,例如,允许任何已设置的变量保持设置.
当然,这取决于你如何编码.