第1章 JavaScript简介
JavaScript组成
- 核心-ECMAScript:对实现该标准规定的各个方面内容的语言的描述,提供核心语言功能
- 文档对象模型-DOM:是针对XML但经过扩展用于HTML的应用程序编程接口(API),提供访问和操作网页内容的方法和接口
浏览器对象模型-BOM:没有相关的标准,提供与浏览器交互的方法和接口
tips:DOM并不值针对JS,很多别的语言也都实现了DOM。
- 五个浏览器(IE、Firefox、Chrome、Safari、Opera)对ECMAScript支持程度都不错,对DOM的支持彼此相差比较多,BOM实现了某些众所周知的共同特性,但是其他特性还是会因浏览器而异。
第2章 在HTML中使用JavaScript
script函数
- 如果包含了嵌入代码,则只会下载并执行外部脚本文件,嵌入的代码会被忽略。
标签的位置
- JS引用一般放在
<body>
元素中页面内容的后面。在解析包含Js代码之前,页面的内容将完全呈现在浏览器中。如果放在<head>
中,必须等到所有的js代码都被下载解析和执行完成以后,才能开始呈现页面内容。
延迟脚本
defer="defer"
表明脚本会被延迟到整个页面都解析完毕后再运行,立即下载,但是延迟执行。
###异步脚本 ###
async
立即下载脚本,但不妨碍页面中的其他操作,并不保证按照指定的先后顺序执行。- 异步脚本不要在加载期间修改DOM。
- 异步脚本一定会在页面的load事件前执行。
XHTML
- XHTML可扩展超文本标记语言,是将HTML作为XML的应用而重新定义的一个标准
小于号(<)在XHTML中将被当做开始一个新标签来解析。有两种方法可以解决:
- 用相应的HTML实体(<)替代代码中所有的小于号(<)
- 用一个CData片段来包含JS代码。在不兼容XHTML的浏览器中,不支持CData,故使用JS注释
1 | script type="text/javascript"> |
- 在XHTML中,CData片段是文档中的一个特殊区域,这个区域可以包含不需要解析的任意格式的文本内容
嵌入代码与外部文件
支持外部文件的人会有如下优点:
- 可维护性
- 可缓存
- 适应未来
文档模式
- 混杂模式、标准模式。如果在文档开始出没有发现文档类型声明,则所有浏览器都会默认开启混杂模式。
noscript元素
<noscript>
用于在不支持JS的浏览器中显示替代的内容。但在启用了脚本的浏览器中,用户不会看到它。- 包含在
<noscript>
元素中的内容只有在下列两种情况中的任何一种出现时,才会显示出来:
- 浏览器不支持脚本
- 浏览器支持脚本,但是脚本被禁用