forked from theluyuan/Web
update: 变量的声明和赋值
This commit is contained in:
parent
2f9a71023e
commit
0822b437c6
@ -253,12 +253,12 @@ ECMAScript在2015年6月,发布了ECMAScript 6版本(ES6),语言的能
|
|||||||
|
|
||||||
- 这种书写方式,不推荐使用,原因是:可读性差,尤其是需要编写大量 JS代码时,容易出错;引号多层嵌套时,也容易出错。
|
- 这种书写方式,不推荐使用,原因是:可读性差,尤其是需要编写大量 JS代码时,容易出错;引号多层嵌套时,也容易出错。
|
||||||
|
|
||||||
- 关于「引号」部分,在HTML标签中,我们推荐使用双引号, JS 中我们推荐使用单引号。
|
- 关于代码中的「引号」,在HTML标签中,我们推荐使用双引号, JS 中我们推荐使用单引号。
|
||||||
|
|
||||||
|
|
||||||
### 方式2、内嵌式
|
### 方式2、内嵌式
|
||||||
|
|
||||||
页面中,我们可以在`<body>`标签里放入`<script type=”text/javascript”></script>`标签对儿,并在`<script>`里书写JavaScript程序:
|
我们可以在html 页面的 `<body>` 标签里放入`<script type=”text/javascript”></script>`标签对儿,并在`<script>`里书写JavaScript 代码:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
@ -307,11 +307,11 @@ ECMAScript在2015年6月,发布了ECMAScript 6版本(ES6),语言的能
|
|||||||
|
|
||||||
**总结**:
|
**总结**:
|
||||||
|
|
||||||
我们在实战开发中,基本都是采用方式3,因为这种方式,可以确保 html 文件和 js 文件是分开的有利于 页面代码的结构化和复用。很少会有人把一大堆 js 代码写在 html 文件里。
|
我们在实战开发中,基本都是采用方式3,因为这种方式,可以确保 html 文件和 js 文件是分开的,有利于代码的结构化和复用。很少会有人把一大堆 js 代码塞到 html 文件里。
|
||||||
|
|
||||||
## JS一些简单的语法规则
|
## JS一些简单的语法规则
|
||||||
|
|
||||||
学习程序,是有规律可循的,就是程序是有相同的部分,这些部分就是一种规定,不能更改,我们成为:语法。
|
学习程序,是有规律可循的,程序会有有相同的部分,这些部分就是一种规定,不能更改,我们成为:语法。
|
||||||
|
|
||||||
(1)JavaScript对换行、缩进、空格不敏感。每一条语句以分号结尾。
|
(1)JavaScript对换行、缩进、空格不敏感。每一条语句以分号结尾。
|
||||||
|
|
||||||
@ -340,7 +340,7 @@ ECMAScript在2015年6月,发布了ECMAScript 6版本(ES6),语言的能
|
|||||||
|
|
||||||
如果你用的是搜狗拼音,**建议不要用shift切换中英文**(可以在搜狗软件里进行设置),不然很容易输入中文的分号;建议用ctrl+space切换中英文输入法。
|
如果你用的是搜狗拼音,**建议不要用shift切换中英文**(可以在搜狗软件里进行设置),不然很容易输入中文的分号;建议用ctrl+space切换中英文输入法。
|
||||||
|
|
||||||
(3)严格区分大小写
|
(3)严格区分大小写。
|
||||||
|
|
||||||
## 注释
|
## 注释
|
||||||
|
|
||||||
@ -454,7 +454,7 @@ VS Code --> 首选项 --> 键盘快捷方式 --> 查找“注释”这两个字
|
|||||||
|
|
||||||
### 弹出输入框:prompt()语句
|
### 弹出输入框:prompt()语句
|
||||||
|
|
||||||
`prompt()`就是专门用来弹出能够让用户输入的对话框。用得少,测试的时候可能会用。
|
`prompt()`就是专门用来弹出能够让用户输入的对话框。用得少,测试的时候偶尔会用。
|
||||||
|
|
||||||
JS代码如下:
|
JS代码如下:
|
||||||
|
|
||||||
|
@ -11,7 +11,13 @@
|
|||||||
alert(886); //886是数字,所以不需要加引号。
|
alert(886); //886是数字,所以不需要加引号。
|
||||||
```
|
```
|
||||||
|
|
||||||
(2)字符串的字面量也很简单,但一定要加上引号。可以是单词、句子等。
|
(2)字符串的字面量也很简单,但一定要加上引号。可以是单词、句子等。例如:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
console.log('886');
|
||||||
|
|
||||||
|
console.log('千古壹号,永不止步');
|
||||||
|
```
|
||||||
|
|
||||||
温馨提示:100是数字,"100"是字符串。
|
温馨提示:100是数字,"100"是字符串。
|
||||||
|
|
||||||
@ -19,31 +25,47 @@
|
|||||||
|
|
||||||
字面量都可以直接使用,但是我们一般不会直接使用字面量。
|
字面量都可以直接使用,但是我们一般不会直接使用字面量。
|
||||||
|
|
||||||
如果直接使用字面量的话,非常麻烦。比如说,多个地方要用到同一个字面量,还不如事先定义一个变量,用来保存字面量。
|
如果直接使用字面量的话,比较麻烦。比如说,多个地方要用到同一个字面量,还不如事先定义一个变量,用来保存字面量。
|
||||||
|
|
||||||
变量更方便我们使用,所以在开发中都是通过变量去保存一个字面量,而不会直接使用字面量。
|
变量更方便我们使用,所以在开发中都是通过变量去保存一个字面量,而不会直接使用字面量。
|
||||||
|
|
||||||
## 变量
|
|
||||||
|
|
||||||
|
|
||||||
### 变量的概念
|
## 变量的概念
|
||||||
|
|
||||||
**变量**:变量可以用来保存字面量,而且变量的值可以任意改变。
|
**变量**是用于存放数据的容器。我们通过「变量名」获取数据,甚至可以修改数据。
|
||||||
|
|
||||||
|
变量还可以用来保存字面量。
|
||||||
|
|
||||||
### 变量的定义和赋值
|
**本质**:变量是程序在内存中申请的一块用来存放数据的空间。
|
||||||
|
|
||||||
- 在ES6之前,统一使用`var`关键字来声明一个变量。
|
## 变量的声明和赋值
|
||||||
|
|
||||||
- 在ES6及之后,统一使用 `const`、`let`关键字来声明一个变量。
|
### 变量的声明(变量的定义)
|
||||||
|
|
||||||
变量举例如下:
|
在ES6之前,统一使用`var`关键字来声明一个变量。比如:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
var a = 100; // ES5语法
|
var name; // 生命一个名为 name 的变量
|
||||||
|
```
|
||||||
|
|
||||||
const b = hello; // ES6 语法
|
补充:在ES6及之后,统一使用 `const`、`let`关键字来声明一个变量。这个以后再讲。
|
||||||
let b = world; // ES6 语法
|
|
||||||
|
### 变量的赋值
|
||||||
|
|
||||||
|
变量的赋值:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
name= '千古壹号'
|
||||||
|
```
|
||||||
|
|
||||||
|
变量的声明和赋值,举例如下:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
var a = 100; // ES5语法
|
||||||
|
|
||||||
|
const b = hello; // ES6 语法
|
||||||
|
let b = world; // ES6 语法
|
||||||
```
|
```
|
||||||
|
|
||||||
如下图所示:
|
如下图所示:
|
||||||
@ -52,7 +74,7 @@
|
|||||||
|
|
||||||
var是英语“variant”变量的缩写。后面要加一个空格,空格后面的东西就是“变量名”:
|
var是英语“variant”变量的缩写。后面要加一个空格,空格后面的东西就是“变量名”:
|
||||||
|
|
||||||
- 定义变量:var就是一个**关键字**,用来定义变量。所谓关键字,就是有特殊功能的小词语。关键字后面一定要有空格隔开。
|
- 定义变量:var就是一个**关键字**,用来定义变量。所谓关键字,就是有特殊功能的单词。
|
||||||
|
|
||||||
- 变量的赋值:等号表示**赋值**,将等号右边的值,赋给左边的变量。
|
- 变量的赋值:等号表示**赋值**,将等号右边的值,赋给左边的变量。
|
||||||
|
|
||||||
@ -60,34 +82,81 @@ var是英语“variant”变量的缩写。后面要加一个空格,空格后
|
|||||||
|
|
||||||
PS:**在JavaScript中,永远都是用var来定义变量**(在ES6 之前),这和C、Java等语言不同。
|
PS:**在JavaScript中,永远都是用var来定义变量**(在ES6 之前),这和C、Java等语言不同。
|
||||||
|
|
||||||
变量要先定义,才能使用。比如,我们不设置变量,直接输出:
|
### 变量的初始化
|
||||||
|
|
||||||
```html
|
有经验的程序员,会把声明和赋值写在一起:
|
||||||
<script type="text/javascript">
|
|
||||||
console.log(a);
|
```javascript
|
||||||
</script>
|
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); // 会报错
|
||||||
|
```
|
||||||
|
|
||||||
|
控制台会报错:
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20180116_2040.png)
|
![](http://img.smyhvae.com/20180116_2040.png)
|
||||||
|
|
||||||
正确写法:
|
**补充**:写法1和写法2虽然都正常,但这两种写法是有区别的,等以后学习了「变量提升」的概念就明白了。大多数情况下,我们都是采用的写法1。
|
||||||
|
|
||||||
```javascript
|
## 变量的命名规范
|
||||||
var a; // 定义
|
|
||||||
a = 100; //赋值
|
|
||||||
console.log(a); //输出100
|
|
||||||
```
|
|
||||||
|
|
||||||
有经验的程序员,会把定义和赋值写在一起:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
var a = 100; //定义,并且赋值100
|
|
||||||
console.log(a); //输出100
|
|
||||||
```
|
|
||||||
|
|
||||||
### 变量的命名规范
|
|
||||||
|
|
||||||
变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。
|
变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。
|
||||||
|
|
||||||
@ -202,8 +271,8 @@ implements、import、int、interface、long、native、package、private、prot
|
|||||||
|
|
||||||
(1)在JS中,字符串需要使用引号引起来。使用双引号或单引号都可以,但是不要混着用。比如下面这样写是不可以的:
|
(1)在JS中,字符串需要使用引号引起来。使用双引号或单引号都可以,但是不要混着用。比如下面这样写是不可以的:
|
||||||
|
|
||||||
```
|
```javascript
|
||||||
var str = `hello";
|
var str = 'hello";
|
||||||
```
|
```
|
||||||
|
|
||||||
(2)引号不能嵌套:双引号里不能再放双引号,单引号里不能再放单引号。但是单引号里可以嵌套双引号。
|
(2)引号不能嵌套:双引号里不能再放双引号,单引号里不能再放单引号。但是单引号里可以嵌套双引号。
|
||||||
@ -580,12 +649,11 @@ console.log(a-b);
|
|||||||
1
|
1
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## 我的公众号
|
## 我的公众号
|
||||||
|
|
||||||
想学习<font color=#0000ff>**代码之外的技能**</font>?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。
|
想学习**代码之外的技能**?不妨关注我的微信公众号:**千古壹号**(id:`qianguyihao`)。
|
||||||
|
|
||||||
扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外:
|
扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外:
|
||||||
|
|
||||||
![](http://img.smyhvae.com/2016040102.jpg)
|
![](http://img.smyhvae.com/20200101.png)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user