JavaScript笔记总结

JavaScript:一种脚本语言(为网页交互而设计的)

由三部分组成:

1.ECMAScript     由ECMA-262定义     提供核心语言功能

2.DOM   文档对象模型     提供访问和操作网页内容的方法和接口 

3.BOM   浏览器对象型     提供与浏览器交互的方法和接口

 

一、ECMAScript

      语言本身不包含输入输出定义

      ECMAScript是一个标准,JS只是它的一个实现,其他实现包括ActionScript。

      web浏览器是ECMAScript实现可能的宿主环境之一。宿主环境提供基本的ECMAScript实现和该语言的扩展,便于语言与环境之间的对接交互。

     “ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力……”,ECMAScript不与具体的宿主环境相绑定,如JS的宿主环境是浏览器,AS的宿主环境是Flash

      ECMAScript规定了:语法、类型、语句、关键字、保留字、操作符、对象

    (注:JS运行环境:宿主环境+执行期环境  

       宿主环境:由外壳程序生成,如web浏览器,Node,Adobe Flash; 

       执行期环境:嵌入到外壳程序中的JS引擎(JS解析器)生成的,任何可提供JS引擎执行环境的都可以称为外壳程序)

 

二、DOM

       文档对象模型,是针对XML但经扩展用于HTML的应用程序编程接口。DOM把页面映射为一个多层节点结构。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。可把DOM认为是页面上数据和结构的一个树形。借助DOM提供的API,开发人员就可以删除、添加、替换或修改任何节点。DOM 是这样规定的:整个文档是一个文档节点;每个 HTML 标签是一个元素节点;包含在 HTML 元素中的文本是文本节点;每一个 HTML 属性是一个属性节点。DOM 是遵循 W3C(万维网联盟)的标准DOM 定义了访问 HTML 和 XML 文档的标准

 

三、BOM

        浏览器对象模型。BOM没有标准,是各个浏览器厂商根据DOM在各自浏览器上的实现。JavaScript是通过访问BOM对象来访问、控制、修改客户端(浏览器)的。window是BOM的根本对象,不是JS对象。由于BOM的window包含了document,可直接用window对象的document属性来访问、检索、修改XHTML文档内容与结构。

        window.document     document是DOM的根本对象,也就是document对象又是DOM模型的根节点。可理解为BOM包含了DOM。浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而JS操作浏览器以及浏览器读取到的文档。

 

四、DOM和BOM的关系和区别

     关系图:

                   

       

       DOM 是为了操作文档出现的 API,document 是其的一个对象;
       BOM 是为了操作浏览器出现的 API,window 是其的一个对象。

                

       

归DOM管的:

E区(就是document。由web开发人员写出来的一个文件夹,里面有index.html,CSS和JS,部署在服务器上,我们可以通过浏览器的地址栏输入URL然后回车将这个document加载到本地,浏览,右键查看源代码等)。

归BOM管的:

A区(浏览器的标签页,地址栏,搜索栏,书签栏,窗口放大还原关闭按钮,菜单栏等等)

B区(浏览器的右键菜单)

C区(document加载时的状态栏,显示http状态码等)

D区(滚动条scroll bar)

 

Window对象包含属性:document、location、navigator、screen、history、frames
Document根节点包含子节点:forms、location、anchors、images、links
从window.document已然可以看出,DOM的最根本的对象是BOM的window对象的子对象。
区别:DOM描述了处理网页内容的方法和接口,BOM描述了与浏览器进行交互的方法和接口。

注:Window 对象是 JavaScript 层级中的顶层对象。
       Window 对象代表一个浏览器窗口或一个框架。
       Window 对象会在 <body> 或 <frameset> 每次出现时被自动创建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值