mirror of
https://github.com/Estom/notes.git
synced 2026-02-12 14:56:04 +08:00
javascript 简单复习
This commit is contained in:
176
JavaScript/ecmascript-5/statement.md
Normal file
176
JavaScript/ecmascript-5/statement.md
Normal file
@@ -0,0 +1,176 @@
|
||||
在 JavaScript 中,语句使用分号(;)进行分隔。可以在每行编写一条语句,也可以在每行编写多条语句。
|
||||
|
||||
分类:
|
||||
|
||||
- 条件语句: JavaScript 解释器根据一个值判断是执行还是跳过指定语句。
|
||||
- 循环语句: JavaScript 解释器根据一个值判断是否重复执行指定语句。
|
||||
- 跳转语句: 使 JavaScript 解释器跳转到指定语句。
|
||||
|
||||
> **值得注意的是:**
|
||||
>
|
||||
> - 建议每行编写一条语句,便于提高代码的阅读性。
|
||||
> - JavaScript解释器按照语句的编写顺序依次执行。
|
||||
|
||||
### 语句块
|
||||
|
||||
JavaScript 中使用一对花括号({})表示一个语句块。使用语句块为语句进行分组,这样使语句的结构清晰明了。如下述代码:
|
||||
|
||||
```javascript
|
||||
{
|
||||
var arguigu = "arguigu";
|
||||
console.log(arguigu);
|
||||
}
|
||||
```
|
||||
|
||||
> **值得注意的是:**
|
||||
>
|
||||
> - 语句块的结尾不需要分号。
|
||||
> - 语句块中的行都有缩进,但并不是必需的。
|
||||
> - 语句中声明变量是全局变量(后面的课程学习)。
|
||||
|
||||
### 空语句
|
||||
|
||||
空语句允许包含 0 条语句,JavaScript 解释器执行空语句时,不会执行任何动作。空语句如下述代码:
|
||||
|
||||
```javascript
|
||||
;
|
||||
```
|
||||
|
||||
> **值得注意的是:** 如果有特殊目的使用空语句时,最好在代码中添加注释。这样可以更好地说明这条空语句是有用的。
|
||||
|
||||
### 流程控制语句
|
||||
|
||||
JavaScript 解释器按照语句的编写顺序依次执行,但也可以编写一些复杂的语句块,基本分为下述三种:
|
||||
|
||||

|
||||
|
||||
## 条件语句
|
||||
|
||||
条件语句就是指通过判断指定的计算结果,来决定是执行还是跳过指定的语句块。
|
||||
|
||||
如果说 JavaScript 解释器是按照代码的“路径”执行的话,那条件语句就是这条路径上的分叉点,代码执行到这里时必须选择其中一条路径继续执行。
|
||||
|
||||
JavaScript 提供了两种条件语句:if else 语句和 switch case 语句。
|
||||
|
||||
### if 语句
|
||||
|
||||
if 语句是条件判断语句,也是最基本的流程控制语句。
|
||||
|
||||

|
||||
|
||||
```javascript
|
||||
var num = 5;
|
||||
if( num < 10 ){
|
||||
console.log( num );
|
||||
}
|
||||
```
|
||||
|
||||
> **值得注意的是:**
|
||||
>
|
||||
> - if 关键字后面的小括号不能被省略。
|
||||
> - if 关键字后面的条件判断的结果必须是布尔值。如果结果为非布尔值的话,JavaScript 会自动转换为布尔值。
|
||||
> - if 语句中的大括号({})可以被省略,但建议编写,以提高代码阅读性。
|
||||
|
||||
### if else 语句
|
||||
|
||||
if else 语句是条件判断语句,但与 if 语句的执行流程并不相同。
|
||||
|
||||

|
||||
|
||||
```javascript
|
||||
var score = 68;
|
||||
if( score < 60 ){
|
||||
console.log("不及格");
|
||||
}else{
|
||||
console.log("及格");
|
||||
}
|
||||
```
|
||||
|
||||
> **值得注意的是:** if else 语句中的大括号({})可以被省略,但建议编写,以提高代码阅读性。
|
||||
|
||||
### if else 语句嵌套
|
||||
|
||||
if else 语句支持嵌套写法,也就是说,可以在 if 或 else 后面的语句块中继续编写 if else 语句。如下述代码:
|
||||
|
||||
```javascript
|
||||
var score = 68;
|
||||
if( score > 90 ){
|
||||
console.log("优秀");
|
||||
}else{
|
||||
if( score >= 80 ){
|
||||
console.log("良好");
|
||||
}else{
|
||||
console.log("一般");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### else if 语句
|
||||
|
||||
else if 语句是在 if 语句的基础上,允许提供多个条件判断。
|
||||
|
||||

|
||||
|
||||
else if 语句实际上就是简化了的 if else 语句的嵌套写法。如下述代码:
|
||||
|
||||

|
||||
|
||||
### switch case 语句
|
||||
|
||||
switch case 语句是开关语句,但整体执行流程要比 if else 语句复杂的多。具体参考下述流程图:
|
||||
|
||||

|
||||
|
||||
```javascript
|
||||
var num = 2;
|
||||
switch( num ){
|
||||
case 1:
|
||||
console.log("查询余额");
|
||||
break;
|
||||
case 2:
|
||||
console.log("在线充值");
|
||||
break;
|
||||
default:
|
||||
console.log("转人工服务");
|
||||
}
|
||||
```
|
||||
|
||||
> **值得注意的是:** 在实际开发中,switch case 语句与 break 语句同时使用。
|
||||
|
||||
switch case 语句相对于 if else 语句执行性能更优,但也有很多需要注意的地方。
|
||||
|
||||
> **值得注意的是:**
|
||||
>
|
||||
> - switch 关键字后面的小括号、case 关键字后面的冒号都不能被省略的。
|
||||
> - default 关键字只能出现在 switch case 语句的最后面(default 关键字后面不能再出现 case 关键字)。
|
||||
> - break 语句是跳出语句,一旦被执行,表示后面所有的 case 和 default 语句都不会被执行。
|
||||
|
||||
## 循环语句
|
||||
|
||||
循环语句是一系列反复执行到复合特定条件的语句。为了更好地理解循环语句,可以将 JavaScript 代码想象成一条条的分支路径。循环语句就是代码路径中的一个回路,可以让一段代码重复执行。
|
||||
|
||||

|
||||
|
||||
### while 语句
|
||||
|
||||
while 语句是一个基本循环语句,语法结构与 if 语句很类似。
|
||||
|
||||

|
||||
|
||||
```javascript
|
||||
var num = 0;
|
||||
while( num < 10 ){
|
||||
console.log( num );
|
||||
num = num + 1;
|
||||
}
|
||||
```
|
||||
|
||||
> **值得注意的是:**
|
||||
>
|
||||
> - while 关键字后面的小括号不能被省略。
|
||||
> - while 关键字后面的条件判断的结果必须是布尔值。如果结果为非布尔值的话,JavaScript 会自动转换为布尔值。
|
||||
> - while 语句中的大括号({})可以被省略,但建议编写,以提高代码阅读性。
|
||||
|
||||
### do while 语句
|
||||
|
||||
do while 语句也是一个基本循环语句,执行流程与 while 语句很类似。
|
||||
Reference in New Issue
Block a user