JavaScript简介(《JavaScript高级程序设计》)

前言

《JavaScript高级程序设计》,之前读过第2版,这次重读第3版,发现还是收获颇多,一方面是随着HTML5及CSS3的发布,更新了很多新知识点;另一方面经过几年工作之后再回头看,原来万变不离其宗,技术栈在不断更新,但是底层接口还是一样,编程思想也是一样。最后,通过这次温故知新,使知识体系更加的完整。

概述

第1章,了解JavaScript简史,实现和版本。

详述

JavaScript简史

一种专为与网页交互而设计的脚本语言,最早来自于网景公司,目的是为了减少服务器端请求,直接在页面端验证。名字最初叫LiveScript,后来为了搭上Java热炒的顺风车,改名叫JavaScript,只是为了推广,两种语言没有直接关系。

JavaScript实现

JavaScript包括:ECMAScript、DOM、BOM
完整的JavaScript实现由三部分组成:
ECMAScript,由ECMA-262定义,提供核心语言功能;
文档对象模型(DOM),提供访问和操作网页内容的方法和接口;
浏览器对象模型(BOM),提供与浏览器交互的方法和接口。

ECMAScript定义语言基础,不同宿主环境有不同的实现,常见的有web浏览器,Node,Adobe Flash,个人理解有点类似java语言中的接口与具体实现类的关系。

DOM是针对XML但经过扩展用于HTML的应用程序编程接口,把文档映射成结构树,不同组成部分对应不同类型节点和数据,通过DOM的API,就可以对文档进行增删改查。DOM是W3C为了解决浏览器互不兼容的问题,而制定的行业标准。DOM分不同级别,各浏览器不同版本实现的程度也不同。
结构树

BOM是处理浏览器相关的接口,主要包括如下:

  • 弹出新浏览器窗口的功能;
  • 移动、缩放和关闭浏览器窗口的功能;
  • 提供浏览器详细信息的navigator 对象;
  • 提供浏览器所加载页面的详细信息的location 对象;
  • 提供用户显示器分辨率详细信息的screen 对象;
  • 对cookies 的支持;
  • 像XMLHttpRequest 和IE 的ActiveXObject 这样的自定义对象。

JavaScript版本

现在只有Mozilla公司还在沿用,已没有关注的意义。目前提及浏览器对JavaScript的支持情况,一般都以ECMAScript兼容性和对DOM的支持情况为准。

后记

JS中的DOM包括DOM核心和DOM HTML,其他处理XML的语言实现自己的接口,例如SVG(Scalable Vector Graphic,可伸缩矢量图)1.0。BOM一直没有统一标准,HTML5有望统一。