《JavaScript高级程序设计》(第3版)读书笔记 第1~2章

第1章 JavaScript 简介

  • 虽然JavaScript和ECMAScript通常被人们用来表达相同的含义,但JavaScript的含义比ECMA-262要多得多
  • 一个完整的JavaScript由三个不同部分组成 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM)

第2章 在HTML中使用JavaScript

  • <script>定义了6个属性

    1. async 可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作
    2. charset 可选。表示通过src属性指定的代码的字符集。大多数浏览器会忽略它,属性很少用到
    3. defer 可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。
    4. language 已废弃。
    5. src 可选。
    6. type 可选。可以看成language的代替属性;表示脚本语言的内容类型(也称为MIME类型)虽然 text/javascript 和 text/ecmascript 都已经不被推荐使用,但人们一直以来使用过的都还是 text/javascript。实际上,服务器在传送JavaScript文件时使用的MIME类型通常是 application/x-javascript, 但在type中设置这个值却可能导致脚本被忽略。另外在非IE浏览器中还可以使用以下值:application/javascript 和 application/ecmascript。考虑到约定俗称和最大限度的浏览器兼容性,目前依旧还是text/javascript、不过这个属性并不是必须的,如果没有指定这个属性,其默认值仍为 text/javascript
  • 在XHTML中的用法 这种格式在所有现代浏览器中都可以正常使用,虽然有几分hack的味道,但他能通过XHTML验证,而且对XHTML之前的浏览器也会平稳退化
<script>
//<![CDATA[
    function demo(a, b) {
        ...
    }    
//]]>
</script>
  • 文档模式 对于标准模式,可以通过使用下面任何一种文档类型来开启
<!-- HTML 4.01 严格型 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<!-- XHTML 1.0 严格型 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd">

<!-- HTML 5 -->
<!DOCTYPE html>
  • <noscript>元素 浏览器不支持脚本或被禁用时显示
<html>
    <head>
        <title>Example</title>
    </head>
    <body>
        <noscript>
            <p>本页面需要浏览器支持(启用)JavaScript</p>
        </noscirpt>
    </body>
</html>