update: typeof相关

This commit is contained in:
qianguyihao 2019-12-06 21:19:48 +08:00
parent 92bacd6839
commit 101904d893
2 changed files with 94 additions and 70 deletions

View File

@ -16,19 +16,31 @@ typeof 变量
**返回结果** **返回结果**
- `typeof 数值`的返回结果number | typeof 的代码写法 | 返回结果 |
|:-------------|:-------------:|
| typeof 数值 | number |
| typeof 字符串 | string |
| typeof 布尔型 | boolean |
| typeof 对象 | object |
| typeof 方法 | function |
| typeof null | object |
| typeof undefined | undefined |
- `typeof 字符串`的返回结果string 备注1在JavaScript中只要是数就是 number 数值型的。无论整浮、浮点数(即小数)、无论大小、无论正负,都是 number 类型的。
- `typeof 布尔型`的返回结果boolean 备注2为啥 `typeof null`的返回值也是 objcet呢这个
- `typeof undefined`的返回结果undefined
- `typeof null`的返回结果object **返回结果举例**
在JavaScript中只要是数就是 number 数值型的。无论整浮、浮点数(即小数)、无论大小、无论正负,都是 number 类型的。 | typeof 的代码写法 | 返回结果 | 备注 |
|:-------------|:-------------:|:-------------|
| typeof [] | object | 空数组 |
| typeof {} | object | 空对象 |
备注:这里的空数组`[]`、空对象`{}` ,为啥他们在使用 typeof 时,返回值也是 `object`呢?因为这里的 `object`指的是**引用数据类型**,是 Object 对象。
## 其他的简单类型 --> String ## 其他的简单类型 --> String

View File

@ -12,21 +12,21 @@
语法: 语法:
``` ```
for(①初始化表达式; ②条件表达式; ④更新表达式){ for(①初始化表达式; ②条件表达式; ④更新表达式){
③语句... ③语句...
} }
``` ```
执行流程: 执行流程:
``` ```
①执行初始化表达式,初始化变量(初始化表达式只会执行一次) ①执行初始化表达式,初始化变量(初始化表达式只会执行一次)
②执行条件表达式,判断是否执行循环: ②执行条件表达式,判断是否执行循环:
如果为true则执行循环③ 如果为true则执行循环③
如果为false终止循环 如果为false终止循环
④执行更新表达式,更新表达式执行完毕继续重复② ④执行更新表达式,更新表达式执行完毕继续重复②
``` ```
@ -34,23 +34,22 @@
for循环举例 for循环举例
```javascript ```javascript
for (var i = 1; i <= 100; i++) { for (var i = 1; i <= 100; i++) {
console.log(i); console.log(i);
} }
``` ```
上方代码的解释: 上方代码的解释:
![](http://img.smyhvae.com/20180117_2248.png) ![](http://img.smyhvae.com/20180117_2248_2.png)
### for循环举例 ### for循环举例
```javascript ```javascript
for (var i = 1; i < 13; i = i + 4) { for (var i = 1; i < 13; i = i + 4) {
console.log(i); console.log(i);
} }
``` ```
@ -77,10 +76,10 @@ for循环举例
**题目1** **题目1**
```javascript ```javascript
for (var i = 1; i < 10; i = i + 3) { for (var i = 1; i < 10; i = i + 3) {
i = i + 1; i = i + 1;
console.log(i); console.log(i);
} }
``` ```
输出结果2、6、10 输出结果2、6、10
@ -88,10 +87,10 @@ for循环举例
**题目2** **题目2**
```javascript ```javascript
for (var i = 1; i <= 10; i++) { for (var i = 1; i <= 10; i++) {
} }
console.log(i); console.log(i);
``` ```
输出结果11 输出结果11
@ -99,10 +98,10 @@ for循环举例
**题目3** **题目3**
```javascript ```javascript
for(var i = 1; i < 7; i = i + 3){ for(var i = 1; i < 7; i = i + 3){
} }
console.log(i); console.log(i);
``` ```
输出结果7 输出结果7
@ -110,15 +109,13 @@ for循环举例
**题目4** **题目4**
```javascript ```javascript
for (var i = 1; i > 0; i++) { for (var i = 1; i > 0; i++) {
console.log(i); console.log(i);
} }
``` ```
死循环。 死循环。
## while循环语句 ## while循环语句
### while循环 ### while循环
@ -149,26 +146,24 @@ while语句在执行时先对条件表达式进行求值判断
### do...while循环 ### do...while循环
语法: 语法:
```javascript ```javascript
do{ do{
语句... 语句...
}while(条件表达式) }while(条件表达式)
``` ```
执行流程: 执行流程:
``` ```
do...while语句在执行时会先执行循环体 do...while语句在执行时会先执行循环体
循环体执行完毕以后在对while后的条件表达式进行判断 循环体执行完毕以后在对while后的条件表达式进行判断
如果结果为true则继续执行循环体执行完毕继续判断以此类推 如果结果为true则继续执行循环体执行完毕继续判断以此类推
如果结果为false则终止循环 如果结果为false则终止循环
``` ```
@ -236,16 +231,15 @@ while语句在执行时先对条件表达式进行求值判断
打印结果: 打印结果:
``` ```
5003.18854203379 5003.18854203379
一共需要33年 一共需要33年
``` ```
另外你也可以自己算一下假如投资的年利率为5%从1000块增长到1万块需要花费48年 另外你也可以自己算一下假如投资的年利率为5%从1000块增长到1万块需要花费48年
``` ```
10401.269646942128 10401.269646942128
一共需要48年 一共需要48年
``` ```
@ -255,10 +249,9 @@ while语句在执行时先对条件表达式进行求值判断
> 这个知识点非常重要。 > 这个知识点非常重要。
### break ### break
- break可以用来退出switch语句或**整个**循环语句循环语句包括for、while。不包括if。if里不能用 break 和 continue否则会报错 - break可以用来退出switch语句或退出**整个**循环语句循环语句包括for循环、while循环。不包括if。if里不能用 break 和 continue否则会报错
- break会立即终止离它**最近**的那个循环语句。 - break会立即终止离它**最近**的那个循环语句。
@ -268,12 +261,12 @@ while语句在执行时先对条件表达式进行求值判断
**举例1**:通过 break 终止循环语句 **举例1**:通过 break 终止循环语句
```javascript ```javascript
for (var i = 0; i < 5; i++) { for (var i = 0; i < 5; i++) {
console.log('i的值:' + i); console.log('i的值:' + i);
if (i == 2) { if (i == 2) {
break; // 注意,虽然在 if 里 使用了 break但这里的 break 是服务于外面的 for 循环。 break; // 注意,虽然在 if 里 使用了 break但这里的 break 是服务于外面的 for 循环。
} }
} }
``` ```
@ -289,14 +282,14 @@ i的值:2
**举例2**label的使用 **举例2**label的使用
```javascript ```javascript
outer: outer:
for (var i = 0; i < 5; i++) { for (var i = 0; i < 5; i++) {
console.log("外层循环 i 的值:" + i) console.log("外层循环 i 的值:" + i)
for (var j = 0; j < 5; j++) { for (var j = 0; j < 5; j++) {
break outer; // 直接跳出outer所在的外层循环这个outer是我自定义的label break outer; // 直接跳出outer所在的外层循环这个outer是我自定义的label
console.log("内层循环 j 的值:" + j); console.log("内层循环 j 的值:" + j);
} }
} }
``` ```
@ -315,18 +308,40 @@ i的值:2
- 同样continue默认只会离他**最近**的循环起作用。 - 同样continue默认只会离他**最近**的循环起作用。
举例:
```javascript
for (var i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue;
}
console.log('i的值:' + i);
}
```
打印结果:
```
i的值:1
i的值:3
i的值:5
i的值:7
i的值:9
```
## 各种练习 ## 各种练习
### 练习一:质数相关 ### 练习一:质数相关
**题目**:在页面中接收一个用户输入的数字,并判断该数是否是质数。 **题目**:在页面中接收一个用户输入的数字,并判断该数是否是质数。
代码实现: 代码实现:
```html ```html
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
@ -380,7 +395,6 @@ i的值:2
``` ```
### 练习二:质数相关 ### 练习二:质数相关
**题目**打印1~100之间的所有质数 **题目**打印1~100之间的所有质数
@ -436,10 +450,8 @@ i的值:2
打印结果: 打印结果:
![](http://img.smyhvae.com/20181229_1415.png) ![](http://img.smyhvae.com/20181229_1415.png)
### 练习三99乘法表 ### 练习三99乘法表
代码实现: 代码实现: