您的位置:首页 > Web前端 > JavaScript

JavaScript标签<script>中的defer和async

2015-02-06 16:54 666 查看






<script>

Let’s start by defining what
<script>
without any attributes does. The HTML file will be parsed until the script file is hit, at that point parsing will stop and a request will be made to fetch the file (if
it’s external). The script will then be executed before parsing is resumed.




<script async>

async
downloads the file during HTML parsing and will pause the HTML parser to execute it when it has finished downloading.




<script defer>

defer
downloads the file during HTML parsing and will only execute it after the parser has completed.
defer
scripts are also guarenteed to execute in the order
that they appear in the document.




When should I use what?

Typically you want to use
async
where possible, then
defer
then no attribute. Here are some general rules to follow:

If the script is modular and does not rely on any scripts then use
async
.
If the script relies upon or is relied upon by another script then use
defer
.
If the script is small and is relied upon by an
async
script then use an inline
script
with no attributes placed above the
async
scripts.

Thanks:
http://peter.sh/experiments/asynchronous-and-deferred-javascript-execution-explained/ http://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: