编辑: 牛牛小龙人 2019-08-09
第1章ECMAScript 简介 本章内容主要介绍 ECMAScript 的历史、版本以及语法特性和多种集成开发环境,让读者对 ECMAScript 有一个初步的认识,以便为后续学习打好基础.

1.1 概述成立于1961年之极具影响力的国际组织ECMA (European Computer Manufacturers Association, 欧洲制造商协会),现今专门制定信息和通信系统的标准与技术报告,以促进和规范信息通信技术 与消费电子产品. ECMA 至今已经主动贡献了超过

400 个标准和

100 个技术报告,其中三分之二以上的部分, 已在国际上得到了广泛的使用. 其中, 由Ecma 制定的 ECMA-262 (ISO/IEC 16262) 的ECMAScript, 是具有商标的脚本编程语言(script programming language)的规范. 1.1.1 ECMAScript 各版本 从1997 年6月的第

1 版,到2018 年6月的第

9 版(ECMAScript 9),已问世的 ECMAScript 各版本,主要被用来标准化 JavaScript 脚本编程语言.目前业界的应用主要以 ECMAScript

5 /

6 为主、ECMAScript

7 /

8 /

9 为辅.从ECMAScript

6 开始的各版本存在如表 1-1 所示的昵称. 表1-1 ECMAScript 的各版本 正式名称 版本昵称 缩写昵称 ECMAScript

2015 ECMAScript

6 ES

2015、ES6 ECMAScript

2016 ECMAScript

7 ES

2016、ES7 ECMAScript

2017 ECMAScript

8 ES

2017、ES8 ECMAScript

2018 ECMAScript

9 ES

2018、ES9

2 | JavaScript 编程思想:从ES5 到ES9 1.1.2 关于 JavaScript 可简称为 JS 的JavaScript,是一个动态高级解释脚本编程语言(dynamic high-level interpreting scripting programming language).对于万维网而言,HTML、CSS 与JavaScript 并列为网页制作的 核心编程语言. JavaScript 主要用来实现网页程序的用户交互机制 (interactive mechanism) , 并通过 ECMAScript 规范,被创建和内置于网页浏览器(web browser)的JavaScript 引擎中. JavaScript 支持事件驱动(event-driven)、函数调用(function invocation / call)、面向对象编 程(OOP, object-oriented programming) 等特性, 并具备处理文本、 数组、 日期、 正则表达式 (regular expression) 和文档对象模型 (DOM, document object model) 的应用程序编程接口 (API, application programming interface). JavaScript 引擎早期仅实现于网页浏览器当中,现今则被实现于其他类型的软件里,例如网页 服务器、数据库服务器、文字处理器,以及用来编写移动或桌面应用程序的集成开发环境(IDE, integrated development environment)等软件里. 1.1.3 其他脚本语言 通过 ECMAScript 规范实现的编程语言, 除了 JavaScript 之外, 主要还有 Adobe 的ActionScript 和Microsoft 的JScript,其语法非常相似于 JavaScript. JScript 被用于 Internet Explorer 浏览器,ActionScript 主要被用于 Adobe Animate CC 集成开发 环境中. 1.2 语法的实现 计算机编程语言的语法是一种规则,用来定义此编程语言表面形式的符号组合,以正确组成 此语言的源代码(source code),进而堆砌成为片段或文件. 1.2.1 源代码 源代码(source code)通常以纯文本方式,存在于文档里,并作为输入数据,由汇编器 (assembler)、编译器(compiler)或解释器(interpreter),转换成计算机可理解的二进制机器代 码(machine code). 通过经常阅读他人编写的源代码,计算机程序员可增进其编程技术的成熟度.因此,开发者 互相分享源代码,可算是对彼此的一种贡献. 移植特定软件到其他计算机平台上,通常是异常困难的.然而,若有此软件的源代码,移植 任务就会变得简单许多. 第1章ECMAScript 简介 |

3 1.2.2 语句 在计算机编程当中,语句(statement)是命令式编程语言的语法单元,以表示欲指示计算机进 行的一连串动作. JavaScript 编程语言的语句大致分为简单语句(simple statement)和复合语句(compound statement)两种形式. 1. 简单语句 简单语句的末尾应该加上分号,例如: (1) let v01, v02 ;

变量 v01 与v02 的声明. (2) var list01 = ['

apple'

,'

banana'

, '

cherry'

] ;

数组变量 list01 的声明与数据设置. (3) profile = {name: '

Alex'

, gender: '

male'

, age: '

40'

} ;

对象变量 profile 的数据设置. (4) document.writeln ('

world peace'

) ;

写入带有文本 world peace 的h3 元素实例到当前网页里. (5) confirm ('

Are you sure to delete it?'

) ;

在网页上,显示带有 Are you sure to delete it? 信息并带有确认按钮和取消按钮的模式对话框. (6) username.style.color = '

RoyalBlue'

;

设置 id 为username 元素实例的颜色样式为宝蓝色. (7) break ;

中断循环语句(loop statement),或确认切换语句(switch statement)的分支(branch). (8) continue ;

在循环语句中,终止当前的循环,并立即进行下一次的循环. (10) debugger ;

4 | JavaScript 编程思想:从ES5 到ES9 设置调试断点(breakpoint),以暂停后续源代码的执行,并启动调试机制. (11) use strict ;

限制以严格模式执行源代码. (12) return result ;

终止函数的执行,并返回变量 result 的数据. 2. 复合语句 复合语句大都带有一对大括号,例如: (1) let result =

0 ;

alert ( You'

re welcome! ) ;

{ let num01 = 75, num02 =

64 ;

result = num01 + num02 ;

} 在前述大括号中的源代码, 连同大括号在内, 可被称为复合语句. 其中, 变量 num01 与num02 只有在大括号里才允许被访问. (2) with (send_button.style) { color = '

Gold'

;

backgroundColor = '

DodgerBlue'

;

fontSize = '

1.5em'

;

} with 复合语句包含一对大括号,并且可以简化对象实例属性的访问语法.在此,【send_button.style.color = '

Gold'

;

】的语句,在复合语句【with (send_button.style) 】的大括号里, 可被简化为【color = '

Gold'

;

】. (3) if (score >

= 60) { passer_count++ ;

saying = '

You have passed!'

;

} if 条件复合语句可包含一对大括号,当小括号里的条件【(score >

= 60)】为真时,大括号里的 各语句就会被执行. (4) for (let i =

0 ;

i <

10 ;

i++) { count++ ;

sum += count * i **

2 ;

第1章ECMAScript 简介 |

5 } for 循环复合语句可包含一对大括号,并借助小括号【(let i =

0 ;

i <

10 ;

i++)】中的

3 个子语句, 使得大括号中的各语句,可被迭代而执行

10 次. (5) switch (choice) { case 1: grade = '

A+'

;

break ;

case 2: grade = '

A'

;

break ;

case 3: grade = '

B'

;

break ;

case 4: grade = '

C'

;

break ;

default: grade } switch 复合语句包含一对大括号,并通过小括号【(choice)】中变量 choice 的数值,来决定并 执行大括号中的特定 case 或default 分支的子语句. 1.2.3 表达式 编程语言中的表达式(expression)内含运算符(operator)以及代表操作数(operand)的常量 (constant) 、 变量 (variable) 、 函数返回值 (function return value) 与子表达式 (subsidiary expression) . 一般情况下,表达式的结果数据通常是原始数据类型(primitive data type)之一,例如数字 (number)、字符串(string)或布尔型(boolean). JavaScript 编程语言的表达式大致可分为以下几种. 1. 算术表达式(arithmetic expression) 例如: (1)v01 = v02 +

5 ;

将变量 v02 的数值,加上

5 之后的结果值,赋给变量 v01. (2)v03 = v02 **

3 ;

将变量 v02 的数值,进行

3 次方运算的结果值,赋给变量 v03. (3)v04 =

6 * (v03 + 10) ;

将6乘以【变量 v03 加上 10】之后的积,赋给变量 v04. (4)v05 = v04 %

2 + v04 /

2 ;

将变量 v04 除以

2 的余数,加上变量 v04 除以

2 的结果值,赋给变量 v05. (5)c01 = c01 +

1 ;

6 | JavaScript 编程思想:从ES5 到ES9 将变量 c01 的数值,加上

1 的结果值,赋给变量 c01 本身. (6)c01 +=

1 ;

将变量 c01 的数值增加

1 / 递增(increment). (7)c01++ ;

先返回 c01 的数值,再递增变量 c01. (8)++c01 ;

先递增变量 c01 的数值,再返回 c01. (9)c02 = c02 -

1 ;

将变量 c02 的数值,减去

1 / 递减(decrement)的结果值,赋给变量 c02 本身. (10)c02 -=

1 ;

将变量 c02 的值减去

1 / 递减的结果值,赋给变量 c02 本身. (11)c02-- ;

先返回 c02 的数值,再递减变量 c02. (12)--c02 ;

先递减变量 c02 的数值,再返回 c02. 2. 字符串表达式(string expression) 例如: (1) let subject = '

Alex'

;

let object = '

Jasper'

;

let greeting = '

have a nice day'

;

let message = '

'

;

message = subject + '

said '

+ greeting + '

to '

+ object ;

message = `${subject} said ${greeting} to ${object}` ;

在一对单引号或双引号内的文本是代表一种........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题