内联javascript是否会阻止UI线程?

tim*_*son 2 javascript nonblocking src blocking ui-thread

我读了这篇关于外部脚本如何阻止UI线程的好文章,但我不清楚阻塞是否实际上是由于<script>标记或src='/myscript.js'src属性的存在.

我的问题是内联javascript(缺少src属性声明),例如:

<script type='text/javascript'> alert('am i blocking too?');</script>
Run Code Online (Sandbox Code Playgroud)

或这个:

<script type='text/javascript'> var php='<?=json_encode($myObj)?>';</script>
Run Code Online (Sandbox Code Playgroud)

还阻止UI线程?

Aln*_*tak 6

一个JS文件的任何负载或任何执行任何 JS(是否在外部文件或内联)会阻塞UI线程.

<script>标记的例外是异步加载,其中脚本将在后台异步加载和执行.

还有"延迟"加载(即defer属性),它告诉浏览器在页面的其余部分加载之前不会实际执行JS.

  • @FabrícioMatté我没有意识到现在有"async"和"defer" - 我已经更新了. (3认同)