JavaScript
一、JavaScript简介
1.1 javascript简史
- 起初主要用于客户端验证
- ECMA
- European Computer Manufacturers Association 欧洲计算机制造商协会
1.2 javascript实现
1.2.1 ECMAScript
- 规定了语法、类型、语句、关键字、保留字、操作符和对象
- 在此基础上可以构建脚本语言,JavaScript对它进行实现。
1.2.2 文档对象模型DOM
利用其提供的API可对HTML文档结构进行操作
- DHTML
DOM的产生是由于动态操作HTML的DHTML没有统一的规范,W3C - DOM级别
- 1级
- DOM Core
- 规定如何映射基于XML的文档结构
- DOM HTML
- 针对HTML的对象和方法
- DOM Core
- 2级
- 3级
- 1级
1.2.3 浏览器对象模型BOM
可以控制浏览器显示页面以外的部分
二、在HTML中使用JavaScript
2.1 <script>元素
- <script src= ’ ’ type= ’ '></script>
- async
立即异步下载并执行,执行时机不确定。只适用于外部脚本- async = ’ async ’
- defer
立即异步下载,延迟执行,在整个页面解析完后执行。只适用于外部脚本- defer = ’ defer ’
- src
引入外部js文件 - type
text/javascript 可忽略
- async
2.1.1 <script>的位置
- 惯例
放在<head>标签内,但由于浏览器是至上而下解析,所以会影响页面加载速度 - 现代web程序
放在<body>中的尾部
2.1.2 延迟脚本
- defer
- 当有多个延迟脚本时,它们之间的执行顺序不一定
2.1.3 异步脚本
- async
- 当有多个异步脚本时,它们之间的执行顺序不一定
- 由于是立即执行,所以脚本不应涉及DOM的操作
2.2 嵌入代码与外部文件
- 外部文件的优势
- 可维护性
- 多个HTML页面的javascript放在同一个文件中
- 可缓存
- 同一个javascript文件只需下载一次
- 可维护性
2.3 文档模式
- DOCTYPE
- 混杂模式
未声明文档模式时默认采用混杂模式,存在大量不标准的特性,影响跨浏览器兼容性 - 标准模式
- <!DOCTYPE HTML>
HTML 5
- <!DOCTYPE HTML>
- 混杂模式
2.4 <noscript>元素
只在浏览器不支持脚本或脚本禁用时显示元素中的内容。
<html>
<head></head>
<body>
<noscript>
<p>提示javascript被禁用</p>
...
<!-- 任何可放在body中的element,除了script element -->
</noscript>
</body>
</html>