update: 变量的声明和赋值
This commit is contained in:
		
							parent
							
								
									2f9a71023e
								
							
						
					
					
						commit
						0822b437c6
					
				@ -253,12 +253,12 @@ ECMAScript在2015年6月,发布了ECMAScript 6版本(ES6),语言的能
 | 
			
		||||
 | 
			
		||||
- 这种书写方式,不推荐使用,原因是:可读性差,尤其是需要编写大量 JS代码时,容易出错;引号多层嵌套时,也容易出错。
 | 
			
		||||
 | 
			
		||||
- 关于「引号」部分,在HTML标签中,我们推荐使用双引号, JS 中我们推荐使用单引号。
 | 
			
		||||
- 关于代码中的「引号」,在HTML标签中,我们推荐使用双引号, JS 中我们推荐使用单引号。
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 方式2、内嵌式
 | 
			
		||||
 | 
			
		||||
页面中,我们可以在`<body>`标签里放入`<script type=”text/javascript”></script>`标签对儿,并在`<script>`里书写JavaScript程序:
 | 
			
		||||
我们可以在html 页面的 `<body>` 标签里放入`<script type=”text/javascript”></script>`标签对儿,并在`<script>`里书写JavaScript 代码:
 | 
			
		||||
 | 
			
		||||
```html
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
@ -307,11 +307,11 @@ ECMAScript在2015年6月,发布了ECMAScript 6版本(ES6),语言的能
 | 
			
		||||
 | 
			
		||||
**总结**:
 | 
			
		||||
 | 
			
		||||
我们在实战开发中,基本都是采用方式3,因为这种方式,可以确保 html 文件和 js 文件是分开的有利于 页面代码的结构化和复用。很少会有人把一大堆 js 代码写在 html 文件里。
 | 
			
		||||
我们在实战开发中,基本都是采用方式3,因为这种方式,可以确保 html 文件和 js 文件是分开的,有利于代码的结构化和复用。很少会有人把一大堆 js 代码塞到 html 文件里。
 | 
			
		||||
 | 
			
		||||
## JS一些简单的语法规则
 | 
			
		||||
 | 
			
		||||
学习程序,是有规律可循的,就是程序是有相同的部分,这些部分就是一种规定,不能更改,我们成为:语法。
 | 
			
		||||
学习程序,是有规律可循的,程序会有有相同的部分,这些部分就是一种规定,不能更改,我们成为:语法。
 | 
			
		||||
 | 
			
		||||
(1)JavaScript对换行、缩进、空格不敏感。每一条语句以分号结尾。
 | 
			
		||||
 | 
			
		||||
@ -340,7 +340,7 @@ ECMAScript在2015年6月,发布了ECMAScript 6版本(ES6),语言的能
 | 
			
		||||
 | 
			
		||||
如果你用的是搜狗拼音,**建议不要用shift切换中英文**(可以在搜狗软件里进行设置),不然很容易输入中文的分号;建议用ctrl+space切换中英文输入法。
 | 
			
		||||
 | 
			
		||||
(3)严格区分大小写
 | 
			
		||||
(3)严格区分大小写。
 | 
			
		||||
 | 
			
		||||
## 注释
 | 
			
		||||
 | 
			
		||||
@ -454,7 +454,7 @@ VS Code --> 首选项 --> 键盘快捷方式 --> 查找“注释”这两个字
 | 
			
		||||
 | 
			
		||||
### 弹出输入框:prompt()语句
 | 
			
		||||
 | 
			
		||||
`prompt()`就是专门用来弹出能够让用户输入的对话框。用得少,测试的时候可能会用。
 | 
			
		||||
`prompt()`就是专门用来弹出能够让用户输入的对话框。用得少,测试的时候偶尔会用。
 | 
			
		||||
 | 
			
		||||
JS代码如下:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,13 @@
 | 
			
		||||
	alert(886);  //886是数字,所以不需要加引号。
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
(2)字符串的字面量也很简单,但一定要加上引号。可以是单词、句子等。
 | 
			
		||||
(2)字符串的字面量也很简单,但一定要加上引号。可以是单词、句子等。例如:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
	console.log('886');
 | 
			
		||||
 | 
			
		||||
	console.log('千古壹号,永不止步');
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
温馨提示:100是数字,"100"是字符串。
 | 
			
		||||
 | 
			
		||||
@ -19,31 +25,47 @@
 | 
			
		||||
 | 
			
		||||
字面量都可以直接使用,但是我们一般不会直接使用字面量。
 | 
			
		||||
 | 
			
		||||
如果直接使用字面量的话,非常麻烦。比如说,多个地方要用到同一个字面量,还不如事先定义一个变量,用来保存字面量。
 | 
			
		||||
如果直接使用字面量的话,比较麻烦。比如说,多个地方要用到同一个字面量,还不如事先定义一个变量,用来保存字面量。
 | 
			
		||||
 | 
			
		||||
变量更方便我们使用,所以在开发中都是通过变量去保存一个字面量,而不会直接使用字面量。
 | 
			
		||||
 | 
			
		||||
## 变量
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 变量的概念
 | 
			
		||||
## 变量的概念
 | 
			
		||||
 | 
			
		||||
**变量**:变量可以用来保存字面量,而且变量的值可以任意改变。
 | 
			
		||||
**变量**是用于存放数据的容器。我们通过「变量名」获取数据,甚至可以修改数据。
 | 
			
		||||
 | 
			
		||||
变量还可以用来保存字面量。
 | 
			
		||||
 | 
			
		||||
### 变量的定义和赋值
 | 
			
		||||
**本质**:变量是程序在内存中申请的一块用来存放数据的空间。
 | 
			
		||||
 | 
			
		||||
- 在ES6之前,统一使用`var`关键字来声明一个变量。
 | 
			
		||||
## 变量的声明和赋值
 | 
			
		||||
 | 
			
		||||
- 在ES6及之后,统一使用 `const`、`let`关键字来声明一个变量。
 | 
			
		||||
### 变量的声明(变量的定义)
 | 
			
		||||
 | 
			
		||||
变量举例如下:
 | 
			
		||||
在ES6之前,统一使用`var`关键字来声明一个变量。比如:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
	var a = 100; // ES5语法
 | 
			
		||||
var name; // 生命一个名为 name 的变量
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
	const b = hello; // ES6 语法
 | 
			
		||||
	let b = world; // ES6 语法
 | 
			
		||||
补充:在ES6及之后,统一使用 `const`、`let`关键字来声明一个变量。这个以后再讲。
 | 
			
		||||
 | 
			
		||||
### 变量的赋值
 | 
			
		||||
 | 
			
		||||
变量的赋值:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
name= '千古壹号'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
变量的声明和赋值,举例如下:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
var a = 100; // ES5语法
 | 
			
		||||
 | 
			
		||||
const b = hello; // ES6 语法
 | 
			
		||||
let b = world; // ES6 语法
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
如下图所示:
 | 
			
		||||
@ -52,7 +74,7 @@
 | 
			
		||||
 | 
			
		||||
var是英语“variant”变量的缩写。后面要加一个空格,空格后面的东西就是“变量名”:
 | 
			
		||||
 | 
			
		||||
- 定义变量:var就是一个**关键字**,用来定义变量。所谓关键字,就是有特殊功能的小词语。关键字后面一定要有空格隔开。
 | 
			
		||||
- 定义变量:var就是一个**关键字**,用来定义变量。所谓关键字,就是有特殊功能的单词。
 | 
			
		||||
 | 
			
		||||
- 变量的赋值:等号表示**赋值**,将等号右边的值,赋给左边的变量。
 | 
			
		||||
 | 
			
		||||
@ -60,34 +82,81 @@ var是英语“variant”变量的缩写。后面要加一个空格,空格后
 | 
			
		||||
 | 
			
		||||
PS:**在JavaScript中,永远都是用var来定义变量**(在ES6 之前),这和C、Java等语言不同。
 | 
			
		||||
 | 
			
		||||
变量要先定义,才能使用。比如,我们不设置变量,直接输出:
 | 
			
		||||
### 变量的初始化
 | 
			
		||||
 | 
			
		||||
```html
 | 
			
		||||
	<script type="text/javascript">
 | 
			
		||||
		console.log(a);
 | 
			
		||||
	</script>
 | 
			
		||||
有经验的程序员,会把声明和赋值写在一起:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
	var a = 100;    //声明,并且赋值100
 | 
			
		||||
	console.log(a);  //输出100
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
控制台将会报错:
 | 
			
		||||
声明一个变量并赋值, 我们称之为**变量的初始化**。
 | 
			
		||||
 | 
			
		||||
## 变量的语法扩展
 | 
			
		||||
 | 
			
		||||
### 更改变量的值
 | 
			
		||||
 | 
			
		||||
一个变量被重新复赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。
 | 
			
		||||
 | 
			
		||||
举例:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
var a = 100;
 | 
			
		||||
a = 110;
 | 
			
		||||
 | 
			
		||||
console.log(a); // 打印结果:110。因为 110 覆盖了 100
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 同时声明多个变量
 | 
			
		||||
 | 
			
		||||
同时声明多个变量时,只需要写一个 var, 多个变量名之间用英文逗号隔开。
 | 
			
		||||
 | 
			
		||||
举例:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
var name = '千古壹号', age = 27, number = 100;
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### 变量声明的特殊情况
 | 
			
		||||
 | 
			
		||||
变量建议先声明,再使用。否则可能会报错。具体如下。
 | 
			
		||||
 | 
			
		||||
**写法1**、先声明,再赋值:(正常)
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
var a;
 | 
			
		||||
a = 100;
 | 
			
		||||
console.log(a); // 打印结果:100
 | 
			
		||||
```
 | 
			
		||||
**写法2**、不声明,只赋值:(正常)
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
a = 100;
 | 
			
		||||
console.log(a); // 打印结果:100
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
**写法3**、只声明,不赋值:(注意,打印 undefined)
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
var a;
 | 
			
		||||
console.log(a); // 打印结果:undefined
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
**写法4**、不声明,不赋值,直接使用:(会报错)
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
console.log(a); // 会报错
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
控制台会报错:
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
正确写法:
 | 
			
		||||
**补充**:写法1和写法2虽然都正常,但这两种写法是有区别的,等以后学习了「变量提升」的概念就明白了。大多数情况下,我们都是采用的写法1。
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
	var a;   // 定义
 | 
			
		||||
	a = 100;  //赋值
 | 
			
		||||
	console.log(a);  //输出100
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
有经验的程序员,会把定义和赋值写在一起:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
	var a = 100;    //定义,并且赋值100
 | 
			
		||||
	console.log(a);  //输出100
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### 变量的命名规范
 | 
			
		||||
## 变量的命名规范
 | 
			
		||||
 | 
			
		||||
变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。
 | 
			
		||||
 | 
			
		||||
@ -202,8 +271,8 @@ implements、import、int、interface、long、native、package、private、prot
 | 
			
		||||
 | 
			
		||||
(1)在JS中,字符串需要使用引号引起来。使用双引号或单引号都可以,但是不要混着用。比如下面这样写是不可以的:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
	var str = `hello";
 | 
			
		||||
```javascript
 | 
			
		||||
var str = 'hello";
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
(2)引号不能嵌套:双引号里不能再放双引号,单引号里不能再放单引号。但是单引号里可以嵌套双引号。
 | 
			
		||||
@ -580,12 +649,11 @@ console.log(a-b);
 | 
			
		||||
1
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 我的公众号
 | 
			
		||||
 | 
			
		||||
想学习<font color=#0000ff>**代码之外的技能**</font>?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。
 | 
			
		||||
想学习**代码之外的技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。
 | 
			
		||||
 | 
			
		||||
扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外:
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user