asyncとdeferの理解:

1197 ワード

ブラウザがscriptタグに遭遇すると、ドキュメントの解析が停止しdocumentが構築されなくなり、ページを開くとしばらく空白になり、ブラウザがリフレッシュ要求状態(つまりずっと回転している)と表示されることがあります.これはユーザーに悪い体験を与えます.deferとasyncの合理的な使用はこの状況を避けることができます.また、通常scriptの位置はページの下部に書くことをお勧めします(モバイル側のアプリケーションは比較的多く、これら2つはhtml 5の新しい属性です).だからデフォルトのscript参照に対して、ここでdeferとasyncを組み合わせると2つの新しい使い方があります.それらの違いは何ですか.
1.デフォルトの参照: ブラウザがscriptラベルに遭遇すると、ドキュメントの解析が停止し、すぐにスクリプトをダウンロードして実行します.スクリプトの実行が完了すると、ドキュメントの解析が続行されます.
2.asyncモード:ブラウザがscriptラベルに した 、ドキュメントの は せず、 のスレッドはスクリプトをダウンロードし、スクリプトのダウンロードが した 、スクリプトの を し、スクリプトの にドキュメントはスクリプトの が するまで を します.
3.deferモード:ブラウザがscriptラベルに した 、ドキュメントの は しません. のスレッドはスクリプトをダウンロードし、ドキュメントの が するまでスクリプトは されません.
だからasyncとdeferの も な いはasyncが でダウンロードしてすぐに して、それからドキュメントは を けて、deferは でロードした にドキュメントを して、それからスクリプトを して、このように って し しましたか?それらの は であり、2つの はどのようにしてどのような でどれを うかを しますか? な は、スクリプトがスクリプトに せず、スクリプトに しない はdeferを し、スクリプトがモジュール され、スクリプトに しない はasyncを します.