红皮书(1):在HTML中运用Javascript

耽误剧本 defer

<script>标签定义了defer属性。这个属性的用处是表明剧本在实行时不会影响页面的组织。也就是说,剧本会被耽误到全部页面都剖析终了后再运行。因而,在<script>元素中设置defer属性,相当于通知浏览器马上下载,但耽误实行。

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example HTML Page</title>
</head>
<body>
  <script type="text/javascript" defer="defer" src="example1.js"></script>
</body>
</html>

在这个例子中,虽然我们把<script>元素放在了文档的<head>元素中,但个中包括的剧本将耽误到浏览器碰到</html<标签后再实行。

异步加载 async

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example HTML Page</title>
</head>
<body>
  <script type="text/javascript" async src="example1.js"></script>
</body>
</html>

指定async属性的目标是不让页面守候两个剧本下载和实行,从而异步加载页面其他内容,为此,发起异步剧本不要在加载时期修正DOM。

异步剧本一定会再页面load事宜前实行,但可能会再DOMContentLoaded事宜触发之前或以后实行。

文档形式

最初的俩种文档形式是:混淆形式(quirks mode)和规范形式(standards mode)。混淆形式会让IE的行动与(包括非规范特征的)IE5雷同,而规范形式则让IE的行动更靠近规范行动。

如果在文档最先初没有发明文档范例声明,则一切浏览器都邑默许开启混淆形式。

    原文作者:小渝人儿
    原文地址: https://segmentfault.com/a/1190000000368908
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞