方法: 1. onload を使用します。2. IE で deferdefer を使用してコードをロードし、すぐには実行できません。ドキュメントがロードされた後に実行されます。3. Ajax で xmlhttpRequest を使用して、外部ドキュメントの読み込みステータス。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
1. onloadを使用します
<script type="text/javascript"> //<![CDATA[ window.onload = f; function f(){alert(1);} alert(2); //]]> </script>
出力値の順序は2、1です。
複数の winodws.onload がある場合、最も効果的なものだけが有効になることに注意してください。解決策は次のとおりです:
window.onload = function(){f();f1();f2();.....}
レベル 2 DOM イベント タイプを使用します
if(document.addEventListener){ window.addEventListener('load',f,false); window.addEventListener('load',f1,false); ... }else{ window.attachEvent('onload',f); window.attachEvent('onload',f1); ... }
2. Deferdefer は IE で使用してコードをロードし、すぐには実行できません。ドキュメントがロードされた後に実行されます。onload に似ていますが、onload の制限はありません。再利用できますが、これは IE でのみ有効であるため、IE がエラーを報告しないように、上記の例を
<script type="text/javascript"> //<![CDATA[ document.write('<script type="text/javascript" src="test.js"><\/script>'); document.write('<script type="text/javascript" defer="defer">'); document.write('alert(2);') document.write('alert("我是" + tmpStr);'); document.write('<\/script>'); //]]> </script> <script type="text/javascript"> //<![CDATA[ alert(3); //]]> </script>
に変更すると、出力値の順序は 1、3、 2、私は 1
3 で、Ajax を使用しています。
xmlhttpRequest は外部ドキュメントの読み込みステータスを判断できるため、コードの読み込み順序を変更することができます。
[推奨学習: JavaScript 上級チュートリアル]
以上がJavascriptの実行順序を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。