JavaScript 高级程序设计笔记(二)

第二章 在 HTML 中使用 JavaScript

2.1 <script> 元素

使用 <script> 元素方式两种:直接嵌入和包含外部 js 文件

嵌入 js 代码时,只需为 <script> 指定 type 属性

<script type="text/javascript">  
    function sayHi(){
        alert("Hi!");
    }
<script>  

内嵌代码不是不要出现 ‘</script>’ 字符串,非要出现需要转义

<script type="text/javascript">  
    function sayScript(){
        alert("</script>");
    }
 </script>

如果要通过 <script> 元素来包含外部 JavaScript 文件,就需要 src 属性,指向外部 JavaScript 文件链接

<script type="text/javascript" src="example.js"></script>  

内嵌代码和外部引用只能二选一,并且外部引用的优先级要高一些。如不包含 defer 和 async 属性,所有 <script> 中的元素按照出现的先后顺序依次被解析。

<script> 的位置应放置于 <body> 元素页面内容的后面。

<script> 中的 defer 属性表明脚本将延迟到浏览器遇到 </html> 标签后再执行,只适用于外部脚本。

async 属性与 defer 属性类似,告诉浏览器立即下载脚本,延迟执行。但不同的是 async 不保证执行顺序。

2.2 文档模式

IE5.5 引入的概念,通过 Doctype 来实现,用来说明 XHTML 或者 HTML 是什么版本。它的作用是告知浏览器的解析器,用什么文档类型规范来解析这个文档。

声明必须是 HTML 文档的第一行,位于 标签之前。

在 HTML 4.01 和 XHTML 1.0 中, 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。

文档解析——Doctype、严格&混杂模式、浏览器&文档模式

2.3 <noscript> 元素

浏览器不支持/禁用 JavaScript 时,让页面平滑退出,比如

<html>  
    <head>
        <title>Example HTML Page</title>
        <script type="text/javascript" defer="defer" src="example1.js"></script>
        <script type="text/javascript" defer="defer" src="example2.js"></script>
    </head>
    <body>
        <noscript>
            <p>本页面需要启用 JavaScript </p>
        </noscript>
    </body>
</html>  

-EOF-

chengway

认清生活真相之后依然热爱它!

Subscribe to Talk is cheap, Show me the world!

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!