update: 关键字
This commit is contained in:
		
							parent
							
								
									5e154c3ac8
								
							
						
					
					
						commit
						4f8682f46a
					
				@ -40,8 +40,6 @@ JavaScript是世界上用的最多的**脚本语言**。
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
虽然目前WebApp(Web应用)在功能和性能上的体验远不如Native App(原生应用),但是“在原生App中内嵌一部分H5页面”已经是一种趋势。
 | 
					虽然目前WebApp(Web应用)在功能和性能上的体验远不如Native App(原生应用),但是“在原生App中内嵌一部分H5页面”已经是一种趋势。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 浏览器的介绍
 | 
					## 浏览器的介绍
 | 
				
			||||||
 | 
					
 | 
				
			||||||
浏览器是网页运行的平台,常用的浏览器有谷歌(Chrome)、Safari、火狐(Firefox)、IE、Edge、Opera等。如下图所示:
 | 
					浏览器是网页运行的平台,常用的浏览器有谷歌(Chrome)、Safari、火狐(Firefox)、IE、Edge、Opera等。如下图所示:
 | 
				
			||||||
@ -154,7 +152,6 @@ JavaScript运行在用户的终端网页上,而不是服务器上,所以我
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
备注:Node.js是用 JavaScript 开发的,现在也可以基于 Node.js 技术进行服务器端编程。
 | 
					备注:Node.js是用 JavaScript 开发的,现在也可以基于 Node.js 技术进行服务器端编程。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
### JavaScript的组成
 | 
					### JavaScript的组成
 | 
				
			||||||
 | 
					
 | 
				
			||||||
JavaScript基础分为三个部分:
 | 
					JavaScript基础分为三个部分:
 | 
				
			||||||
@ -169,43 +166,12 @@ JavaScript基础分为三个部分:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### 特点1:解释型语言
 | 
					### 特点1:解释型语言
 | 
				
			||||||
 | 
					
 | 
				
			||||||
JavaScript语言,不需要事先被翻译为机器码;而是边翻译边执行(翻译一行,执行一行)。
 | 
					JavaScript 是解释型语言,不需要事先被翻译为机器码;而是边翻译边执行(翻译一行,执行一行)。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					什么是「解释型语言」?详见下一段。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> 由于少了实现编译这一步骤,所以解释型语言开发起来尤为方便,但是解释型语言运行较慢也是它的劣势。不过解释型语言中使用了JIT技术,使得运行速度得以改善。
 | 
					> 由于少了实现编译这一步骤,所以解释型语言开发起来尤为方便,但是解释型语言运行较慢也是它的劣势。不过解释型语言中使用了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:单线程
 | 
					### 特点2:单线程
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 特点3:ECMAScript标准
 | 
					### 特点3:ECMAScript标准
 | 
				
			||||||
@ -218,6 +184,52 @@ JavaScript是由公司开发而成的,问题是不便于其他的公司拓展
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ECMAScript在2015年6月,发布了ECMAScript 6版本(ES6),语言的能力更强(也包含了很多新特性)。但是,浏览器的厂商不会那么快去追上这个标准,需要时间。
 | 
					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代码
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> JavaScript 代码的书写位置在哪里呢?这个问题,也可以理解成:引入 js 代码,有哪几种方式。
 | 
					> JavaScript 代码的书写位置在哪里呢?这个问题,也可以理解成:引入 js 代码,有哪几种方式。
 | 
				
			||||||
@ -255,7 +267,6 @@ ECMAScript在2015年6月,发布了ECMAScript 6版本(ES6),语言的能
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
- 关于代码中的「引号」,在HTML标签中,我们推荐使用双引号, JS 中我们推荐使用单引号。
 | 
					- 关于代码中的「引号」,在HTML标签中,我们推荐使用双引号, JS 中我们推荐使用单引号。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
### 方式2、内嵌式
 | 
					### 方式2、内嵌式
 | 
				
			||||||
 | 
					
 | 
				
			||||||
我们可以在html 页面的 `<body>` 标签里放入`<script type=”text/javascript”></script>`标签对儿,并在`<script>`里书写JavaScript 代码:
 | 
					我们可以在html 页面的 `<body>` 标签里放入`<script type=”text/javascript”></script>`标签对儿,并在`<script>`里书写JavaScript 代码:
 | 
				
			||||||
@ -484,4 +495,3 @@ console.log(a);
 | 
				
			|||||||
扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外:
 | 
					扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外:
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -204,19 +204,38 @@ console.log(a); // 会报错
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
**标识符**:在JS中所有的可以由我们**自主命名**的都可以称之为标识符。
 | 
					**标识符**:在JS中所有的可以由我们**自主命名**的都可以称之为标识符。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
例如:变量名、函数名、属性名都是属于标识符。
 | 
					例如:变量名、函数名、属性名、参数名都是属于标识符。通俗来讲,标识符就是我们写代码时为它们起的名字。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**标识符的命名规则**和变量的命令规则是一样的。看上面一段就可以了。
 | 
					**标识符的命名规则**和变量的命令规则是一样的。看上面一段就可以了。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
同样,标识符不能使用脚本语言中保留的**关键字**及**保留字**。如下。
 | 
					同样,标识符不能使用语言中保留的**关键字**及**保留字**。如下。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 关键字
 | 
					### 关键字
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					**关键字**:是指 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、
 | 
					abstract、boolean、byte、char、class、const、
 | 
				
			||||||
@ -230,12 +249,6 @@ private、protected、public、short、static、super、synchronized、throws、
 | 
				
			|||||||
transient、volatile
 | 
					transient、volatile
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**其他不建议使用的标识符**:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 举例
 | 
					## 举例
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user