小程序:脚本的执行顺序问题

脚本的执行顺序

浏览器中,脚本严格按照加载的顺序执行,如代码2-29所示。

代码清单2-29 浏览器中的脚本

<html>
<head>
  <!-- a.js
  console.log('a.js')
   -->
  <script src ="a.js"></script>
  <script>
    console.log('inline script')
  </script>

  <!-- b.js
  console.log('b.js')
   -->
  <script src ="b.js"></script>
</head>
</html>

以上代码的输出是:

a.js

inline script

b.js

而在小程序中的脚本执行顺序有所不同。小程序的执行的入口文件是 app.js 。并且会根据其中 require 的模块顺序决定文件的运行顺序,代码2-30是一个 app.js 示例。

代码清单2-30 app.js

/* a.js
console.log('a.js')
*/
var a = require('./a.js')
console.log('app.js')

/* b.js
console.log('b.js')
*/
var b = require('./b.js')

以上代码的输出顺序是:

a.js

app.js

b.js

当 app.js 执行结束后,小程序会按照开发者在 app.json 中定义的 pages 的顺序,逐一执行。如代码2-31所示。

代码清单2-31 app.json 文件

{
  "pages": [
    "pages/index/index",
    "pages/log/log",
    "pages/result/result"
  ],
  "window": {}
}

代码清单2-32 app.js文件

// app.js
console.log('app.js')

代码清单2-33 pages/index/index.js 文件

// pages/index/index
console.log('pages/index/index')

代码清单2-34 page/log/log.js 文件

// pages/log/log
console.log('pages/log/log')

代码清单2-35 page/result/result.js 文件

// pages/result/result
console.log('pages/result/result')

以上文件执行后输出的结果如下:

app.js

pages/index/index

pages/log/log

pages/result/result
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容