一个完整的JavaScript实现包含——
核心:ECMAScript
文档对象模型:DOM
浏览器对象模型:BOM
ECMAScript:ECMA-262定义,提供核心语言功能
DOM:Document Object Model:提供访问和操作网页内容的方法和接口
——将整个页面映射为一个多层节点结构
BOM:Browser Object Model:提供与浏览器交互的方法和接口
——控制浏览器显示的页面以外的部分
<script>元素
——HTML4.01定义6个属性
1. async:可选——立即下载脚本,but不应该妨碍页面中其它操作
【只对外部脚本文件有效】
2. charset:可选——通过src属性指定的代码的字符集
【most browsers 忽略其值】
3. defer:可选——脚本可以延迟到文档完全被解析&显示之后再执行
【only 外部脚本文件有效】
4. language:废弃——code所使用的脚本语言
5. src:可选——包含所要执行的外部文件
6. type:可选——脚本语言类型
文档模式
IE5.5引入文档模式——通过使用文档类型(doctype)切换实现
最初2种文档模型——
混杂模式:quirks mode
让 IE 的行为与(包含非标准特性的) IE5 相同
标准模式:standards mode
让 IE 的行为更接近标准行为
above 2 modes主要影响CSS内容的呈现, BUT某些情况下also 影响JavaScript的解释执行
。。。。。。
之后
IE 提出一种
标准准模型:almost standards mode
此种模式下的浏览器特性很多都是符合标准的, but not all
【不标准的主要体现:处理图片间隙之际--尤其在表格中使用图片时问题最明显】
IF 在文档开始没有发现文档类型声明
then all browsers 默认开启混杂模式——不推荐:因为不同浏览器在此模式下的行为差异很大
如果不使用某些 hack 技术,跨浏览器的行为就根本没有一致性了
严格型:
<noscript>元素
——浏览器不支持脚本
——浏览器支持脚本, BUT脚本被禁用
以上 2 种情况下会显示 noscript 元素中的内容