我是Haxe的新手,可能这是一个非常基本的问题,我无法真正找到答案.
我看到三种调用主类的方法:
1)使用main()
//Entry point
public static main():void{
//do something...
}
Run Code Online (Sandbox Code Playgroud)
2)使用构造函数new()
//Constructor
public function new(){
// init
}
Run Code Online (Sandbox Code Playgroud)
3)同时使用main()和new()
static function main()
{
Lib.window.onload = function(e) new Main();
}
public function new()
{
//init
}
Run Code Online (Sandbox Code Playgroud)
是否有使用指南或最佳实践?
谢谢
解决所有3:
static function main() { new Main(); }一些额外的要点:
Boot.__init() 运行特定于平台的初始化static function __init__()初始化具有初始化方法的类main()功能被执行了-main Main参数的类,但是使用类路径/名称作为参数(例如haxe my.pack.MyClass)并且没有public static function main(),则编译该类,但不会自动运行.如果您正在创建一个库或类似的东西,这可能很有用 - 您的类在那里,但它需要由其他一些Javascript等显式调用.在Javascript中,Haxe代码一旦加载就开始运行,可能在DOM准备好之前.这就是为什么做一个好主意:
static function main() {
js.Lib.window.onload = function(e) { runMyApp(); }
}
Run Code Online (Sandbox Code Playgroud)
正如您在示例中所做的那样,如果您希望在DOM准备好之后运行代码,这是一个好主意.无论是在加载时你调用另一个静态函数,还是new MyApp()从那里实例化并运行你的应用程序,这取决于你.