Javascript 如何使用document.write()加载JS文件?它是异步的吗?

Javascript 如何使用document.write()加载JS文件?它是异步的吗?,javascript,jquery,asynchronous,Javascript,Jquery,Asynchronous,我已经使用HTML5样板文件一段时间了,它有以下几行代码: <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.2.min.js"><\/script>')</scr

我已经使用HTML5样板文件一段时间了,它有以下几行代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.2.min.js"><\/script>')</script>
我希望两者都是定义的(同步的),或者都是未定义的(异步的)。但是,整个
标记似乎是在执行
之前执行的。换句话说,当调用第一个
console.log()
时,jQuery甚至还没有开始加载

然而,我尝试了以下方法:

<script>
document.write('<script>console.log("second");<\/script>');
console.log('first');
</script>
<script>
document.write('<script src=script.php><\/script>');
console.log(1);
</script>
<script>
console.log(3);
</script>
因此,在加载脚本时,浏览器似乎会继续执行当前的
块,但不会移动到下一个

这到底是怎么回事

编辑:

关于延迟的评论:谢谢你的建议,但我不明白为什么人们不先确认就投票

我刚试过这个:

<script>
document.write('<script>console.log("second");<\/script>');
console.log('first');
</script>
<script>
document.write('<script src=script.php><\/script>');
console.log(1);
</script>
<script>
console.log(3);
</script>

我想第一个案例是由从GoogleAPI下载JS文件的延迟引起的。第二个示例不会有这种开销,因为
console.log
会直接放在页面中。不过,我还没有对此进行测试,只是做了一个假设。@Rorymcrossan请阅读编辑。@aarosil刚刚确认,“解析页面”不包括“解析并执行Javascript”?
<?php
header('content-type:application/x-javascript');
sleep(1);
?>
console.log(2);
1
2
3