什么时候在网络应用程序中执行dart代码?

时间:2014-03-09 01:59:50

标签: dart

如果我有一个链接到我的Dart程序的<script>的HTML文件,我的代码何时执行?具体来说,何时执行顶级分配,何时运行main()函数?

2 个答案:

答案 0 :(得分:1)

According to the dart documentation:

  

Dart应用必须具有名为main()的可见顶级函数。浏览器在加载DOM内容时调用main()(但请参阅下一节中的警告)。

The caveat is:

  

HTML页面上Dart执行的精确语义正在不断发展,并且可能会在生产浏览器中本身支持Dart时发生变化。

     

目前,您的Dart应用程序的main()函数在加载DOM内容后运行,但确切的时间是未定义的(例如,关于加载事件或延迟的JavaScript)。将来,我们可能会在HTML解析期间同步调用main(),而不是等待加载DOM内容。

根据这条推文:

  

@caffinatedmonk顶层变量被懒惰地初始化。即第一次访问时。

- Seth Ladd(@sethladd)March 10, 2014

第一次访问变量时会初始化变量。

答案 1 :(得分:0)