update: 关键字

This commit is contained in:
qianguyihao 2019-12-12 16:39:36 +08:00
parent 5e154c3ac8
commit 4f8682f46a
2 changed files with 72 additions and 49 deletions

View File

@ -40,8 +40,6 @@ JavaScript是世界上用的最多的**脚本语言**。
虽然目前WebAppWeb应用在功能和性能上的体验远不如Native App原生应用但是“在原生App中内嵌一部分H5页面”已经是一种趋势。
## 浏览器的介绍
浏览器是网页运行的平台常用的浏览器有谷歌Chrome、Safari、火狐Firefox、IE、Edge、Opera等。如下图所示
@ -154,7 +152,6 @@ JavaScript运行在用户的终端网页上而不是服务器上所以我
备注Node.js是用 JavaScript 开发的,现在也可以基于 Node.js 技术进行服务器端编程。
### JavaScript的组成
JavaScript基础分为三个部分
@ -169,43 +166,12 @@ JavaScript基础分为三个部分
### 特点1解释型语言
JavaScript语言不需要事先被翻译为机器码而是边翻译边执行翻译一行执行一行
JavaScript 是解释型语言,不需要事先被翻译为机器码;而是边翻译边执行(翻译一行,执行一行)。
什么是「解释型语言」?详见下一段。
> 由于少了实现编译这一步骤所以解释型语言开发起来尤为方便但是解释型语言运行较慢也是它的劣势。不过解释型语言中使用了JIT技术使得运行速度得以改善。
### 补充知识:编程语言的分类
> 所谓的“翻译”,指的是编译成计算机能够执行的指令。
**编译型语言**
- 定义:事先把所有的代码一次性翻译好,然后整体执行。
- 优点:运行更快。
- 不足:移植性不好,不跨平台。
- 编译型语言举例c、c++
比如说c语言的代码文件是`.c`后缀,翻译之后文件是`.obj`后缀,系统执行的是 obj 文件;再比如, java 语言的代码文件是`.java`后缀,翻译之后的文件是`.class`后缀。注意Java 语言不是严格的 编译型语言,这个一会儿会讲)
**解释型语言**
- 定义:**边翻译边执行**(翻译一行,执行一行),不需要事先一次性翻译。
- 优点:移植性好,跨平台。
- 缺点:运行更慢。
- 解释型语言举例JavaScript、php、Python。
**Java语言**
Java 语言既不是编译型语言,也不是解释型语言。编译过程:
1`.java`代码文件先通过 javac 命令编译成`.class`文件。
2`.class`文件再通过 jvm 虚拟机,解释执行。有了 jvm 的存在,让 java 跨平台了。
### 特点2单线程
### 特点3ECMAScript标准
@ -218,6 +184,52 @@ JavaScript是由公司开发而成的问题是不便于其他的公司拓展
ECMAScript在2015年6月发布了ECMAScript 6版本ES6语言的能力更强也包含了很多新特性。但是浏览器的厂商不会那么快去追上这个标准需要时间。
## 编程语言的分类
### 翻译器
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所编写的语言翻译成机器语言,计算机才能执行程序。**程序语言翻译成机器语言的工具,被称为翻译器**。
由此可见,所谓的“翻译”,指的是翻译成计算机能够执行的指令。
翻译器翻译的方式有两种:一种是**编译**,另一种是**解释**。两种方式之间的区别在于**翻译的时机**不同。
- **编译器**:在代码执行之前,事前把所有的代码一次性翻译好,生成中间代码文件,然后整体执行。
- **解释器**:边翻译,边执行(在代码执行时进行及时翻译,并立即执行)。当编译器以解释的方式运行时,也称之为解释器。
对应的语言,称之为“编译型语言”、“解释型语言”。
### 编译型语言
- 定义:事先把所有的代码一次性翻译好,然后整体执行。
- 优点:运行更快。
- 不足:移植性不好,不跨平台。
- 编译型语言举例c、c++
比如说c语言的代码文件是`.c`后缀,翻译之后文件是`.obj`后缀,系统执行的是 obj 文件;再比如, java 语言的代码文件是`.java`后缀,翻译之后的文件是`.class`后缀。注意Java 语言不是严格的 编译型语言,这个一会儿会讲)
### 解释型语言
- 定义:**边翻译边执行**(翻译一行,执行一行),不需要事先一次性翻译。
- 优点:移植性好,跨平台。
- 缺点:运行更慢。
- 解释型语言举例JavaScript、php、Python。
### Java语言
Java 语言既不是编译型语言,也不是解释型语言。翻译过程:
1编译`.java`代码文件先通过 javac 命令编译成`.class`文件。
2执行`.class`文件再通过 jvm 虚拟机,解释执行。有了 jvm 的存在,让 java 跨平台了。
## 开始写第一行JavaScript代码
> JavaScript 代码的书写位置在哪里呢?这个问题,也可以理解成:引入 js 代码,有哪几种方式。
@ -255,7 +267,6 @@ ECMAScript在2015年6月发布了ECMAScript 6版本ES6语言的能
- 关于代码中的「引号」在HTML标签中我们推荐使用双引号, JS 中我们推荐使用单引号。
### 方式2、内嵌式
我们可以在html 页面的 `<body>` 标签里放入`<script type=”text/javascript”></script>`标签对儿,并在`<script>`里书写JavaScript 代码:
@ -484,4 +495,3 @@ console.log(a);
扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外:
![](http://img.smyhvae.com/20200101.png)

View File

@ -204,19 +204,38 @@ console.log(a); // 会报错
**标识符**在JS中所有的可以由我们**自主命名**的都可以称之为标识符。
例如:变量名、函数名、属性名都是属于标识符。
例如:变量名、函数名、属性名、参数名都是属于标识符。通俗来讲,标识符就是我们写代码时为它们起的名字。
**标识符的命名规则**和变量的命令规则是一样的。看上面一段就可以了。
同样,标识符不能使用脚本语言中保留的**关键字**及**保留字**。如下。
同样,标识符不能使用语言中保留的**关键字**及**保留字**。如下。
### 关键字
![](http://img.smyhvae.com/20180714_1421.png)
**关键字**:是指 JS 本身已经使用了的单词,不能再用它们充当变量、函数名等标识符。
JS 中的关键字如下:
```
break、continue、case、default、
if、else、switch、for、in、do、while、
try、catch、finally、throw、
var、void、function、return、new、
this、typeof、instanceof、delete、with、
true、false、null、undefined
```
### 保留字
下列的单词,叫做保留字,不允许当做变量名,不用记:
**保留字**:实际上就是预留的“关键字”。意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不
能使用它们当充当变量名、函数名等标识符。
JS 中的保留字如下:
```
abstract、boolean、byte、char、class、const、
@ -230,12 +249,6 @@ private、protected、public、short、static、super、synchronized、throws、
transient、volatile
```
![](http://img.smyhvae.com/20180714_1422.png)
**其他不建议使用的标识符**
![](http://img.smyhvae.com/20180714_1423.png)
## 举例