日期:2014-05-16  浏览次数:20282 次

javascript执行顺序
转载:http://dancewithnet.com/2007/03/22/order-of-execution-of-javascript-on-web/


document.write()会把输出写入到脚本文档所在的位置,浏览器解析完documemt.write()所在文档内容后,继续解析document.write()输出的内容,然后在继续解析HTML文档。
document.write('<script type="text/javascript" src="test.js"><\/script>');



可以利用HTML解析是解析完一个HTML标签,再执行下一个的原理,把代码拆分来实现
<script type="text/javascript">//<![CDATA[
    document.write('<script type="text/javascript" src="test.js"><\/script>');
    //]]></script>
  <script type="text/javascript">//<![CDATA[
    document.write('<script type="text/javascript">');
    document.write('alert(2);')
    document.write('alert("我是" + tmpStr);');
    document.write('<\/script>');
    //]]></script>
  <script type="text/javascript">//<![CDATA[
    alert(3);
    //]]></script>

利用onload
window.onload = function(){f();f1();f2();}
if(document.addEventListener){
window.addEventListener('load',f,false);
window.addEventListener('load',f1,false);
}else{
window.attachEvent('onload',f);
window.attachEvent('onload',f1);
}