正如你可能知道的,标记是用来指定在网页上执行哪个 JavaScript 的。<script>标记可以直接包含 JavaScript 代码,或者指向一个 JavaScript 外链 URL。</p> <h3 id="script-"><script>标记按照它们出现的顺序被执行</h3> <p>下面的代码很直观地说明了这一点:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;"><script> var x = 3; alert(x); // Will alert '3'; 登录后复制使用外链资源时加载次序没有那么直观,但依然是成立的: 登录后复制相关学习推荐:javascript视频教程如果你混合使用外链和内联的 JavaScript,这个规则同样适用。这意味着如果你的网站有很慢的脚本在页面较前部分被加载,你的网页加载就会被显著拖慢。这也意味着后加载的脚本可以依赖先加载的脚本。页面元素在它之前的所有脚本都加载完毕之前是不会执行渲染的。这意味着你可以你可以在页面加载之前在网页上做各种疯狂的事情,当然前提是你不在意因此而造成的性能问题。然而这个规则不适用于你在网页加载完成之后通过 document.appendChild 之类的方法添加 标记到 DOM 中。这些标记会根据浏览器请求处理完成的先后执行脚本,不再保证加载顺序。</p><h3 id="-script-html-">当一个 <script>标记被执行,在它之前的 HTML 元素可以访问(但是在它之后的还不能用)</h3><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;"><html> <head> <script> // document.head is available // document.body is not! // document.head is available // document.body is available