学习《JavaScript高级程序设计》的知识总结,以及对部分内容的扩展~
1、一个完整的js实现的三个部分
核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)
1-1:ECMAScript
ECMA-262的近一版是第 5版,发布于 2009年。
ECMAScript 6(简称ES6)于2015年发布,正式名为ECMAScript2015(ES2015)。
1-2:DOM
DOM1级由两个模块组成:DOM 核心(DOM Core)和 DOM HTML。
DOM2级扩充了鼠标和用户界面事件、范围和遍历(迭代 DOM 文档的方法)等细分模块,而且通过对象接口增加了对 CSS的支持。
DOM3级引入了以统一方式加载和保存文档的方法——在 DOM 加载和保存(DOM Load and Save)模块中定义;新增了验证文档的方法——在 DOM验证(DOM Validation)模块中定义。
(DOM核心规定的是如何映射基于 XML的文档结构,以便简化对文档中任意部分的访问和操作。DOM HTML模块则在 DOM 核心的基础上加以扩展,添加了针对 HTML的对象和方法。)
1-3:BOM
BOM只处理浏览器窗口和框架,但也把所有针对浏览器的JS扩展算作BOM的一部分
一些这样的扩展:
2、HTML和JS
① 在解释器对<script>元素内部的所有代码求值完毕以前,页面中的其余内容都不会被浏览器加载或显示。---一般把JavaScript引用放在<body></body>标签内的最后面。
② 带有 src 属性的<script>元素,如果包含了嵌入的代码,则只会下载并执行外部脚本文件,嵌入的代码会被忽略。
③ 通过<script>元素的 src 属性还可以包含来自外部域的 JavaScript 文件。
④ 文档模式:混杂模式和标准模式 (IE还提出了准标准模式)
文档模式通过文档类型切换实现:
混杂模式:没有文档类型声明,默认开启混杂模式。
标准模式:常见文档类型声明 ↓ ↓ ↓
文档模式的不同:主要影响CSS内容的呈现,但某些情况下也会影响到 JS的解释执行。
⑤ <noscript>元素:用以在不支持脚本或脚本被禁用的浏览器中显示替代的内容。