JavaScript交互式网页设计(微课版)
上QQ阅读APP看书,第一时间看更新

1.2.2 JavaScript学习路线

JavaScript允许用户在Web页面中实现复杂的功能。如果想让一个网页不仅显示静态的信息,还显示随时间更新的内容、交互式地图、2D/3D动画图像或者滚动的视频播放器等,这就需要用到JavaScript。学习JavaScript可以从了解Web开始。

1.什么是Web

Web(World Wide Web)即全球广域网,也称为万维网,是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。1994年,Tim Berners-Lee(蒂姆·伯纳斯·李)建立万维网联盟(World Wide Web Consortium,W3C),该组织聚集了许多技术公司的代表,他们共同制定了Web规范。

Web规范是用来建立Web网站的技术,由一些标准机构创建。这些机构邀请不同技术公司的人员,就如何以最佳方式实现所有用例达成共识并发布标准。其中重要的标准机构有Web标准组织W3C、负责HTML现代化的WHATWG、发布ECMAScript的欧洲计算机制造商协会(European Computer Manufactures Association,ECMA)、发布3D图形技术的Khronos Group等。Web的发展经历了Web 1.0、Web 2.0和Web 3.0这3个阶段。

Web 1.0开始于1994年,此时的互联网处于早期形态。由网站的运营者生产内容。那时候的网站几乎不记录用户数据,想在网上进行复杂的活动几乎不可能。Web 1.0依赖的是动态HTML和静态HTML网页技术,传统的门户网站(如新浪、搜狐、网易等)是Web 1.0的代表。

Web 2.0始于2004年。在这个阶段,每个人都是网站内容的生产者,此时的互联网是一种以分享为特征的实时网络,用户可以实现互动,但是用户的网络身份不属于用户自己,而属于科技巨头。Web 2.0以Blog、TAG、SNS、RSS、Wiki、六度分隔、XML、Ajax等技术和理论为基础,博客中国、校内网等是Web 2.0的代表。

Web 3.0的说法来自区块链,以太坊的联合创始人Gavin Wood(加文·伍德)博士第一个提出了Web 3.0概念。在这个网络中,一切都是去中心化的,没有服务器,没有中心化机构,更没有权威或垄断组织掌控信息流。要构造这样一个庞大的Web 3.0,信息存储和文件传输的去中心化是核心。毕业于斯坦福大学的Juan Benet(胡安·贝内特)和他的团队创建了星际文件系统(InterPlanetary File System,IPFS),重塑了数据航道,在数据确权、存储安全文件封发及传输效率方面都取得了很大的进步。Web 3.0以区块链技术应用的以太网等为代表。

Web的发展经历了基于网络互联的Web 1.0、基于社交的Web 2.0,以及去中心化的Web 3.0,那么Web是如何工作的呢?当用户在浏览器的地址栏里输入一个网址时,浏览器在域名系统(Domain Name System,DNS)服务器上找出存放网页的服务器的实际地址,浏览器发送HTTP请求信息到服务器,以请求复制一份网页到客户端。在客户端和服务器之间传递的数据都是通过互联网使用TCP/IP传输的。在服务器同意客户端的请求后,会返回一个“200 OK”信息,这意味着“用户可以查看这个网页,服务器可以给用户发送数据”,并将网页的文件以数据包的形式传输到浏览器,浏览器将数据包聚集成完整的网页后将其呈现给用户。

2.HTML知识

HTML是一种标签语言,用来结构化网页内容并为其赋予内容和含义。标签根据语义可分为头部标签、分区标签、分组标签、表格标签、表单标签、交互式标签、编辑标签、嵌入式标签和文本类标签。

3.CSS知识

CSS(Cascading Style Sheets)即层叠样式表,是一种样式规则语言,可将样式应用于HTML内容。CSS按照模块可划分为选择器、盒模型、背景和边框、文字特效、2D/3D转换、动画、多列布局和用户界面。

4.JavaScript的核心特性

JavaScript是一种脚本语言,可以用来创建动态更新的内容、控制多媒体、制作图像动画等。JavaScript的核心特性主要有词法符号、数据类型、常量和变量、运算符和表达式、语句和函数、对象和事件等。

5.JavaScript的对象操作技术

JavaScript程序可以通过window对象、document对象和Element对象遍历和管理文档内容。它可以通过操纵CSS样式,修改文档内容的呈现效果。

6.JavaScript的事件驱动技术

JavaScript是一种事件驱动的语言。JavaScript与HTML的交互是通过事件实现的,事件发生在文档或浏览器窗口中。当事件发生时,执行监听器(处理程序)订阅的事件及其处理函数。在软件工程中,这种模式叫“观察者模式”,使用这种模式能够实现页面行为与页面呈现的分离。

目前很多浏览器都实现了DOM Level2 Events的核心部分,但是Web规范并没有涵盖所有的事件类型。HTML5继承了HTML4的一些元素事件,也新增和摒弃了一些事件。JavaScript的事件驱动技术是程序设计中的重要环节。

7.JavaScript的Web应用技术

在为网站或应用编写JavaScript脚本时,经常要使用Web API(Application Programming Interfaces,应用程序接口)。这些接口允许用户在一定程度上操纵网页运行的浏览器和操作系统,甚至来自其他网站和服务的数据。

API是基于编程语言构建的结构,使开发人员能够更容易地实现复杂的功能。API抽象了复杂的代码,并提供一些简单的、可以直接使用的接口规则。

API是已经建立好的一套代码组件,让开发者可以实现原本很难实现的功能。就像用一些已经切好的木板组装一个书柜,显然比自己设计,寻找合适的木材并将其裁切至合适的尺寸和形状,再组装成书柜要简单得多。Web API本身并不是JavaScript的一部分,却建立在JavaScript核心的顶部,为JavaScript代码提供额外的超强能力。Web API通常分为浏览器内置API和第三方API两类。浏览器内置API能从浏览器和计算机周边环境中提取数据,并用来做有用的、复杂的事情。常用的有DOM API、XMLHttpRequest API、Fetch API、canvas API、WebGL API、Web Audio API、WebRTC、Web Storage API和Geolocation API等。

第三方API在默认情况下不会内置于浏览器中,通常必须在Web中的某个地方获取代码和信息。常用的有Google Maps API等。