《JavaScript面向对象编程指南(第2版)》——第1章 面向对象的JavaScript 1.1 回顾历史

简介: 自Web诞生以来,人们对于动态与响应式页面的需求便与日俱增。虽然静态的HTML文本页面在可读性方面或许会更好一些,特别是在有了CSS的辅助之后,页面排版显得更加美观了,但从另一方面来说,如果我们能让人们像在桌面上那样使用浏览器中的应用程序,事情或许会变得更有趣一些。

本节书摘来自异步社区《JavaScript面向对象编程指南(第2版)》一书中的第1章,第1.1节,作者:【加拿大】Stoyan Stefanov著,更多章节内容可以访问云栖社区“异步社区”公众号查看

第1章 面向对象的JavaScript

自Web诞生以来,人们对于动态与响应式页面的需求便与日俱增。虽然静态的HTML文本页面在可读性方面或许会更好一些,特别是在有了CSS的辅助之后,页面排版显得更加美观了,但从另一方面来说,如果我们能让人们像在桌面上那样使用浏览器中的应用程序,事情或许会变得更有趣一些。如今,我们已能在浏览器中直接使用电子邮件、日历、电子银行、购物、绘画、游戏及文本编辑。这都要感谢一种Web编程语言—JavaScript,是它让这些Web应用成为了可能。然而,JavaScript最初也只不过是我们偶尔嵌入在HTML中的一小行代码,但如今它已经日趋成熟,并且被广泛使用。开发者们利用该编程语言的面向对象特性,实现了代码重用,并构建起了可伸缩的代码架构。

如果我们回顾一下Web开发领域这些年来的流行词汇—DHTML、Ajax、Web 2.0、HTML5,就会发现这些词背后的内涵始终没有变,依然是:HTML、CSS、JavaScript。其中HTML服务于内容,CSS服务于表现,而JavaScript则服务于行为。换句话说,JavaScript是让一切东西协同运作的粘合剂,有了它,我们才能在构建出丰富多彩的Web应用程序。

但事情远不止如此,JavaScript的应用领域并不仅仅局限于Web平台。

在JavaScript程序所能运行的多种宿主环境中,Web浏览器无疑是用得最普遍的那一种,但JavaScript也可以运行于其他环境。JavaScript可以应用于各式各样的小工具、应用扩展、以及其他软件,本书在后续章节中会一一提及。总而言之,将时间投资于学习JavaScript是一个明智的选择,因为一旦您掌握了JavaScript,就可以编写出各种适用于多种平台的不同应用,包括手机应用和服务器端程序。毕竟,如今我们要说JavaScript无所不在,那确实是一点都不夸张。

本书将从零开始,我们不会对读者的编程背景做任何假设,只需要您了解一点HTML常识即可。而且除了有一个章节用于探讨Web浏览器环境以外,本书其他部分都在纯粹地关注JavaScript语言本身。因此,您可以将在本书中学到的知识应用于所有的JavaScript环境。

下面,我们将从以下两点开始:

  • 对JavaScript背后故事的简单介绍;
  • 面向对象。

1.1 回顾历史

起初,Web页面不过是一些以静态HTML文档形式发布的科学出版物,这些文档之间只依靠一些简单的超链接(hyperlinks)绑定在一起。这可能有些难以置信,但最早的Web页面的确是不支持任何图片的,但这种情况不久便得到了改善。随后Web就越来越广受欢迎,规模也在不断增大,很快随着Web业务的快速普及和增长,网站管理者越来越希望自己所创建的Web页面能处理更多的事情。例如,他们希望网站能具有更丰富的用户交互能力,主要是能完成一些简单任务(如验证表单之类),以此节省与服务器端的信息交互。当时他们可以有两种选择:Java applets和LiveScript。其中,LiveScript是1995年由Netscape公司的Brendan Eich所开发的程序设计语言。Netscape 2.0发布之后,它被正式更名为JavaScript。

众所周知,Applets后来没落了,JavaScript则更加繁荣。这种通过在HTML中嵌入简短代码段来调整Web页面中其他静态元素的方式在网站管理者间大受好评。但没过多久,浏览器的竞争厂商Microsoft公司就发布了支持JScript的Internet Explorer(IE)3.0。JScript简直就是JavaScript的翻版,并且还在其继承之上引入了一些IE独有的特性。最终,为了使语言的实现更趋向于标准化,于是ECMAScript应运而生了。ECMA(欧洲计算机制造商协会)创建了ECMA-262标准,该标准脱离了浏览器和那些Web独有的特性,集中描述了JavaScript作为编程语言的核心部分。

大致上,JavaScript这个术语通常涵盖了以下3个部分。

  • ECMAScript——语言的核心部分(即变量,函数,循环等等):这个部分独立于浏览器之外,并可以在其他环境中使用。
  • 文档对象模型(DOM):它实际上是提供了一种与HTML、XML文档交互的方式。最初,JavaScript只能提供对页面上一部分元素的有限访问能力,主要集中在表单,超链接和图片这些元素上。后来权限逐渐被扩大,如今几乎所有元素都已经可以访问了。为此,万维网联盟(W3C)还专门创建了DOM标准。该标准是一种独立的(即它并不依赖于JavaScript)操作结构化文档的方式。
  • 浏览器对象模型(BOM):这实际上是一个与浏览器环境有关的对象集合。原本没有任何标准可言,直到HTML5诞生之后,人们才定义了一些浏览器之间通用的对象标准。

虽然本书专门有一个章节用于阐述浏览器、DOM及BOM,但大部分内容还都在讲述JavaScript语言的核心部分,您在这里所学到的JavaScript知识基本都可应用于任何JavaScript执行环境。

相关文章
|
JavaScript 前端开发 Java
深入JS面向对象(原型-继承)(一)
深入JS面向对象(原型-继承)
31 0
|
3月前
|
存储 前端开发 JavaScript
揭秘原型链:探索 JavaScript 面向对象编程的核心(下)
揭秘原型链:探索 JavaScript 面向对象编程的核心(下)
揭秘原型链:探索 JavaScript 面向对象编程的核心(下)
|
3月前
|
前端开发 JavaScript 开发者
揭秘原型链:探索 JavaScript 面向对象编程的核心(上)
揭秘原型链:探索 JavaScript 面向对象编程的核心(上)
揭秘原型链:探索 JavaScript 面向对象编程的核心(上)
|
3月前
|
存储 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(三)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
3月前
|
设计模式 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(一)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
3月前
|
存储 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(二)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
2月前
|
设计模式 前端开发 JavaScript
深入认识:JavaScript中的面向对象
深入认识:JavaScript中的面向对象
12 0
|
2月前
|
前端开发 JavaScript
前端深入理解JavaScript面向对象编程与Class
随着JavaScript的发展,ECMAScript 6(ES6)引入了许多新的语言特性和语法糖,其中包括了面向对象编程的Class(类)机制。Class提供了一种更简洁、更直观的方式来定义对象和操作对象的行为。本文将介绍ES6中Class的概念、语法和特性,并通过示例代码来说明其实际应用。
|
3月前
|
Web App开发 JavaScript 前端开发
深度刨析 JavaScript 模拟面向对象的内部机制
深度刨析 JavaScript 模拟面向对象的内部机制
79 0
|
3月前
|
存储 JavaScript 前端开发
JavaScript中的类型、面向对象编程 深度解析
JavaScript中的类型、面向对象编程 深度解析
13 0