JavaScript由三部分组成
一个完整的javascript实现应该有下列三个不同部分组成:
-
ECMAScript
:提供核心语言功能,是核心,规定了这们语言的书写规范;var jd=“京东商城”;
-
DOM
:提供访问和操作网页内容的方法和接口,(document object model 简称DOM 文档对象模型)var oDiv=document.getElementById("div1");oDiv.innerText="现在已经被我占领了";
-
BOM
:提供与浏览器交互的方法和接口;BOM最蛋疼的部分是没有统一的标准;从根本上讲BOM只处理浏览器窗口和框架,(browser object model 简称 BOM 浏览器对象模型)windows.location.href
1、核心部分
WEB浏览器只是ECMA的宿主环境之一,也可以不依赖浏览器,比如宿主环境可能还包括Node和Adobe Flash;
ECMAScript规定了Javascript这门语言的组成部分;
主要规定了语法、类型、语句、关键字、保留字、操作符、对象;
2、DOM部分
文档对象 模型把整浏览器页面映射为一个多层节点结构,页面中每个组成部分都是某种类型的节点,这些节点又包含了不同类型的数据;
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>这是显示在浏览器选项卡上的文字标题</title></head><body> <div id="page">您好啊,我是HTML</div></body></html>
HTML页面,通过DOM可以看成树形图,借助DOM提供的API,可以轻松的增删改查;下面是几个标签的层级关系
<!DOCTYPE html><html> <head> <!--meta标签是head的儿子,是title的哥哥--> <meta charset="UTF-8"> <!--titles head的儿子,是meta的弟弟--> <title>这是显示在浏览器选项卡上的文字标题</title> </head> <!--body标签是html的儿子,是head的弟弟,是id=page这个div的父亲--> <body> <!--div标签是body的儿子--> <div id="page">您好啊,我是HTML</div> </body> <!--html是head和body的父亲--></html>
DOM的几个级别的介绍
DOM目前分为三个级别;DOM1级,DOM2级,DOM3级;
- DOM1级:是很早以前成为W3C标准的,由DOM核心和DOM HTML两部分组成,DOM核心规定是如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作;DOM HTML模块则在DOM核心的基础上加以扩展,添加了针对HTML的对象和方法;主要目标是映射文档的结构;
- DOM2级:在原来的DOM1级基础上扩充了鼠标和用户界面事件等;主要包括DOM视图,DOM事件、DOM样式、DOM遍历和范围;
- DOM3级:引入了以统一方式加载和保存文档的方法(在DOM加载和保存模块中定义);新增了验证文档的方法(在DOM验证模块中定义);DOM3级也对DOM核心进行了扩展,开始支持XML1.0,涉及
XML infoset
,Xpath
和XML Base
。
3、BOM部分
- 弹出新浏览器窗口的功能;
- 移动、缩放和关闭浏览器窗口的功能;
- window.close()
- 提供浏览器详细信息的navigator对象;
- 提供浏览器所加载页面的详细信息的location对象;
- windows.location.href
- 提供用户显示器分辨率详细信息的srceen对象;
- 对cookies的支持;
- 像XMLHttpRequest和IE的ActiveXObject这样的自定义对象;
- 有了HTML5后,DOM实现的细节有望朝着兼容性越来越高的方向发展;