如果我有一个链接到我的Dart程序的<script>
的HTML文件,我的代码何时执行?具体来说,何时执行顶级分配,何时运行main()
函数?
答案 0 :(得分:1)
According to the dart documentation:
Dart应用必须具有名为main()的可见顶级函数。浏览器在加载DOM内容时调用main()(但请参阅下一节中的警告)。
HTML页面上Dart执行的精确语义正在不断发展,并且可能会在生产浏览器中本身支持Dart时发生变化。
目前,您的Dart应用程序的
main()
函数在加载DOM内容后运行,但确切的时间是未定义的(例如,关于加载事件或延迟的JavaScript)。将来,我们可能会在HTML解析期间同步调用main()
,而不是等待加载DOM内容。
根据这条推文:
@caffinatedmonk顶层变量被懒惰地初始化。即第一次访问时。
- Seth Ladd(@sethladd)March 10, 2014
第一次访问变量时会初始化变量。
答案 1 :(得分:0)