update: Date 对象的方法
This commit is contained in:
		
							parent
							
								
									9c1007c292
								
							
						
					
					
						commit
						f76e642400
					
				@ -143,10 +143,10 @@ href(hypertext reference):超文本地址。读作“喝瑞夫”,不要
 | 
				
			|||||||
 | 
					
 | 
				
			||||||

 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
当然,我们也可以直接点进链接,访问一个网址。举例如下:
 | 
					当然,我们也可以直接点进链接,访问一个网址。代码举例如下:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```
 | 
					```html
 | 
				
			||||||
	<a href="http://www.baidu.com" target="_blank">点我点我</a>
 | 
					<a href="http://www.baidu.com" target="_blank">点我点我</a>
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 2、锚链接
 | 
					### 2、锚链接
 | 
				
			||||||
 | 
				
			|||||||
@ -86,7 +86,7 @@ person.height = '180';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## 对象和数据类型之间的关系
 | 
					## 对象和数据类型之间的关系
 | 
				
			||||||
 | 
					
 | 
				
			||||||
数据类型分类:
 | 
					### 数据类型分类
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- **基本数据类型(值类型)**:String 字符串、Number 数值、Boolean 布尔值、Null 空值、Undefined 未定义。
 | 
					- **基本数据类型(值类型)**:String 字符串、Number 数值、Boolean 布尔值、Null 空值、Undefined 未定义。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -100,7 +100,7 @@ person.height = '180';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
只要不是那五种基本数据类型,就全都是对象。
 | 
					只要不是那五种基本数据类型,就全都是对象。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
如果使用基本数据类型的数据,我们所创建的变量都是独立,不能成为一个整体。
 | 
					如果使用基本数据类型的数据,我们所创建的变量都是独立的,不能成为一个整体。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。
 | 
					对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -110,7 +110,9 @@ person.height = '180';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
**如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响**。
 | 
					**如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响**。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
例如:
 | 
					上面这句话很重要,我们来看个例子。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 一个经典的例子
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```javascript
 | 
					```javascript
 | 
				
			||||||
	var obj = new Object();
 | 
						var obj = new Object();
 | 
				
			||||||
@ -118,11 +120,24 @@ person.height = '180';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	var obj2 = obj;
 | 
						var obj2 = obj;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//修改obj的name属性
 | 
						//修改obj2的name属性
 | 
				
			||||||
	obj.name = "猪八戒";
 | 
						obj2.name = "猪八戒";
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
上面的代码中,当我修改obj的name属性后,会发现,obj2的name属性也会被修改。因为obj和obj2指向的是堆内存中的同一个地址。
 | 
					上面的代码中,当我修改 obj2 的name属性后,会发现,obj 的 name 属性也会被修改。因为obj和obj2指向的是堆内存中的同一个地址。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					这个例子要尤其注意,实战开发中,很容易忽略。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					对于引用类型的数据,赋值相当于地址拷贝,a、b占用了同一段地址。所以改了b,a也会变;本质上a、b就是一个东西。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					如果你打算把引用类型 A 的值赋值给 B,让A和B相互不受影响的话,可以通过 Object.assign() 来复制对象。效果如下:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					var obj = {name: '孙悟空'};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 复制对象:把 obj 赋值给 obj3。两者之间互不影响
 | 
				
			||||||
 | 
					var obj3 = Object.assign({}, obj);
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 对象的分类
 | 
					## 对象的分类
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -87,21 +87,18 @@ console.log(date26);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Date对象 有如下方法,可以获取日期和时间的**指定部分**:
 | 
					Date对象 有如下方法,可以获取日期和时间的**指定部分**:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- `getFullYear() `        获取年份
 | 
					| 方法名        | 含义              | 备注      |
 | 
				
			||||||
 | 
					| ------------- | ----------------- | --------- |
 | 
				
			||||||
 | 
					| getFullYear() | 获取年份          |           |
 | 
				
			||||||
 | 
					| getMonth()    | **获取月: 0-11** | 0代表一月 |
 | 
				
			||||||
 | 
					| getDate()       | **获取日:1-31** | 获取的是几号 |
 | 
				
			||||||
 | 
					| getDay() | **获取星期:0-6** | 0代表周日,1代表周一 |
 | 
				
			||||||
 | 
					| getHours() | 获取小时:0-23 |  |
 | 
				
			||||||
 | 
					| getMinutes() | 获取分钟:0-59 |           |
 | 
				
			||||||
 | 
					| getSeconds() | 获取秒:0-59 |           |
 | 
				
			||||||
 | 
					| etMilliseconds() | 获取毫秒 | 1s = 1000ms |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- `getMonth()  `           **获取月 0-11**(0代表一月)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
- `getDate()`                 **获取日 1-31**。即:获取的是几号
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- `getDay()`                 **获取星期 0-6**(0代表周日,1代表周一)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- `getHours()  `      获取小时 0-23
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- `getMinutes() `         获取分钟 0-59
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- `getSeconds()`         获取秒  0-59
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- `getMilliseconds()`    获取毫秒 (1s = 1000ms)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
**代码举例**:
 | 
					**代码举例**:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -115,7 +112,9 @@ Date对象 有如下方法,可以获取日期和时间的**指定部分**:
 | 
				
			|||||||
	console.log(myDate.getMonth() + 1); // 打印结果:2
 | 
						console.log(myDate.getMonth() + 1); // 打印结果:2
 | 
				
			||||||
	console.log(myDate.getDate()); // 打印结果:4
 | 
						console.log(myDate.getDate()); // 打印结果:4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var dayArr  = ['星期日', '星期一', '星期二', '星期三', '星期四','星期五', '星期六'];
 | 
				
			||||||
	console.log(myDate.getDay()); // 打印结果:1
 | 
						console.log(myDate.getDay()); // 打印结果:1
 | 
				
			||||||
 | 
						console.log(dayArr[myDate.getDay()]); // 打印结果:星期一
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	console.log(myDate.getHours()); // 打印结果:13
 | 
						console.log(myDate.getHours()); // 打印结果:13
 | 
				
			||||||
	console.log(myDate.getMinutes()); // 打印结果:23
 | 
						console.log(myDate.getMinutes()); // 打印结果:23
 | 
				
			||||||
@ -127,45 +126,62 @@ Date对象 有如下方法,可以获取日期和时间的**指定部分**:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
获取了日期和时间的指定部分之后,我们把它们用字符串拼接起来,就可以按照自己想要的格式,来展示日期。
 | 
					获取了日期和时间的指定部分之后,我们把它们用字符串拼接起来,就可以按照自己想要的格式,来展示日期。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 举例:年月日的格式化
 | 
				
			||||||
### 举例1:年月日的格式化
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
代码举例:
 | 
					代码举例:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```javascript
 | 
					```js
 | 
				
			||||||
    // 格式化年月日:2020年2月2日 星期三
 | 
					console.log(formatDate());
 | 
				
			||||||
    var date = new Date();
 | 
					
 | 
				
			||||||
    var year = date.getFullYear();
 | 
					/*
 | 
				
			||||||
    var month = date.getMonth() + 1;
 | 
					    方法:日期格式化。
 | 
				
			||||||
    var dates = date.getDate();
 | 
					    格式要求:今年是:2020年02月02日 08:57:09 星期日
 | 
				
			||||||
    var day = date.getDay();
 | 
					*/
 | 
				
			||||||
    var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
 | 
					function formatDate() {
 | 
				
			||||||
 | 
					    var date = new Date();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    var year = date.getFullYear(); // 年
 | 
				
			||||||
 | 
					    var month = date.getMonth() + 1; // 月
 | 
				
			||||||
 | 
					    var day = date.getDate(); // 日
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    var week = date.getDay(); // 星期几
 | 
				
			||||||
 | 
					    var weekArr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    var hour = date.getHours(); // 时
 | 
				
			||||||
 | 
					    hour = hour < 10 ? '0' + hour : hour; // 如果只有一位,则前面补零
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    var minute = date.getMinutes(); // 分
 | 
				
			||||||
 | 
					    minute = minute < 10 ? '0' + minute : minute; // 如果只有一位,则前面补零
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    var second = date.getSeconds(); // 秒
 | 
				
			||||||
 | 
					    second = second < 10 ? '0' + second : second; // 如果只有一位,则前面补零
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    var result = '今天是:' + year + '年' + month + '月' + day + '日 ' + hour + ':' + minute + ':' + second + ' ' + weekArr[week];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return result;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    console.log('今天是:' + year + '年' + month + '月' + dates + '日 ' + arr[day]);
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 举例2:时分秒的格式化
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
封装一个函数,返回当前时间的时分秒,格式为 06:06:06)
 | 
					## 获取时间戳
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## getTime():获取时间戳
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Date对象 还有如下方法:
 | 
					Date对象 还有如下方法:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- `getTime()`         获取当前日期对象的**时间戳**。这个方法在实际开发中,用得比较多。
 | 
					- `getTime()`  获取日期对象的**时间戳**(单位:毫秒)。这个方法在实战开发中,用得比较多。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
啥叫时间戳?接下来,我们解释一下。
 | 
					啥叫时间戳?接下来,我们解释一下。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 时间戳的定义和作用
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**时间戳**:指的是从格林威治标准时间的`1970年1月1日,0时0分0秒`到当前日期所花费的**毫秒数**(1秒 = 1000毫秒)。
 | 
					**时间戳**:指的是从格林威治标准时间的`1970年1月1日,0时0分0秒`到当前日期所花费的**毫秒数**(1秒 = 1000毫秒)。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
计算机底层在保存时间时,使用的都是时间戳。时间戳的存在,就是为了**统一**时间的单位。
 | 
					计算机底层在保存时间时,使用的都是时间戳。时间戳的存在,就是为了**统一**时间的单位。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					我们经常会利用时间戳来计算时间,因为它更精确。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
我们再来看下面这样的代码:
 | 
					我们再来看下面这样的代码:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```javascript
 | 
					```javascript
 | 
				
			||||||
@ -183,7 +199,41 @@ Date对象 还有如下方法:
 | 
				
			|||||||
为啥打印结果是`-28800000`,而不是`0`呢?这是因为,我们的当前代码,是在中文环境下运行的,与英文时间会存在**8个小时的时差**(中文时间比英文时间早了八个小时)。如果代码是在英文环境下运行,打印结果就是`0`。
 | 
					为啥打印结果是`-28800000`,而不是`0`呢?这是因为,我们的当前代码,是在中文环境下运行的,与英文时间会存在**8个小时的时差**(中文时间比英文时间早了八个小时)。如果代码是在英文环境下运行,打印结果就是`0`。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**利用时间戳检测代码的执行时间**:
 | 
					### 获取 Date 对象的时间戳
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					代码演示:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					    // 方式一:获取 Date 对象的时间戳(最常用的写法)
 | 
				
			||||||
 | 
					    var date1 = +new Date();
 | 
				
			||||||
 | 
					    console.log(date2);  // 打印结果举例:1589448165370
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    var date2 = new Date();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 方式二:获取 Date 对象的时间戳
 | 
				
			||||||
 | 
					    console.log(date2.getTime()); // 打印结果举例:1589448165370
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 方式三:获取 Date 对象的时间戳
 | 
				
			||||||
 | 
					    console.log(date2.valueOf()); // 打印结果举例:1589448165370
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					上面这三种写法都可以获取任意 Date 对象的时间戳,最常见的写法是**方式一**,其次是方式二。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					根据前面所讲的关于「时间戳」的概念,上方代码获取到的时间戳指的是:从 `1970年1月1日,0时0分0秒` 到现在所花费的总毫秒数。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 获取当前时间的时间戳
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					如果我们要获取**当前时间**的时间戳,除了上面的三种方式之外,还有另一种方式。代码如下:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					    // 方式四:获取当前时间的时间戳
 | 
				
			||||||
 | 
					    console.log(Date.now()); // 打印结果举例:1589448165370
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					上面这种方式,用得也很多。只不过,`Date.now()`是H5标准中新增的特性,如果你的项目需要兼容低版本的IE浏览器,就不要用了。这年头,谁还用IE呢?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 利用时间戳检测代码的执行时间
 | 
				
			||||||
 | 
					
 | 
				
			||||||
我们可以在业务代码的前面定义 `时间戳1`,在业务代码的后面定义 `时间戳2`。把这两个时间戳相减,就能得出业务代码的执行时间。
 | 
					我们可以在业务代码的前面定义 `时间戳1`,在业务代码的后面定义 `时间戳2`。把这两个时间戳相减,就能得出业务代码的执行时间。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -58,10 +58,10 @@ this.todayList.splice(0, 0, ...dataList);
 | 
				
			|||||||
**对象赋值的正确写法**:
 | 
					**对象赋值的正确写法**:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```javascript
 | 
					```javascript
 | 
				
			||||||
Object.assign(this.dataObj, dataObj);
 | 
					Object.assign(obj2, obj1);
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
上方代码中,是将`dataObj` 的值追加到`this.dataObj`中。如果对象里属性名相同,会被覆盖。
 | 
					上方代码中,是将`obj1` 的值追加到`obj2`中。如果对象里的属性名相同,会被覆盖。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 2019-11-25-在新的窗口中打开url
 | 
					### 2019-11-25-在新的窗口中打开url
 | 
				
			||||||
 | 
				
			|||||||
@ -167,7 +167,10 @@ ES6中的字符串扩展,用得少,而且逻辑相对简单。如下:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
代码解释:还是刚刚说的那样,`Object.is(v1, v2)`比较的是字符串是否相等。
 | 
					代码解释:还是刚刚说的那样,`Object.is(v1, v2)`比较的是字符串是否相等。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 扩展2(重要)
 | 
					### Object.assign()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Object.assign() 在实战开发中,使用到的频率非常高,一定要重视。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```javascript
 | 
					```javascript
 | 
				
			||||||
	Object.assign(目标对象, 源对象1, 源对象2...)
 | 
						Object.assign(目标对象, 源对象1, 源对象2...)
 | 
				
			||||||
@ -178,8 +181,7 @@ ES6中的字符串扩展,用得少,而且逻辑相对简单。如下:
 | 
				
			|||||||
其实可以理解成:将多个对象**合并**为一个新的对象。
 | 
					其实可以理解成:将多个对象**合并**为一个新的对象。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**举例1**、对象的属性复制:
 | 
				
			||||||
举例:
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
```javascript
 | 
					```javascript
 | 
				
			||||||
        let obj1 = { name: 'smyhvae', age: 26 };
 | 
					        let obj1 = { name: 'smyhvae', age: 26 };
 | 
				
			||||||
@ -194,8 +196,18 @@ ES6中的字符串扩展,用得少,而且逻辑相对简单。如下:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||

 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
上图显示,成功将obj1和obj2的属性复制给了obj3。
 | 
					上图显示,成功将obj1和obj2的属性复制(追加)给了obj3;如果属性名相同,会被覆盖。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**举例2**、将对象 A 赋值给对象B:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					const obj1 = { name: 'smyhvae', age: 26 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const obj2 = Object.assign({}, obj1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					注意,将对象 A 复制给对象 B,不要直接使用 `B = A`,而是要使用 Object.assign()。至于为何这样做的原因,我们在之前的《JS基础/对象简介和对象的基本操作》里已经讲过。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 扩展3:`__proto__`属性
 | 
					### 扩展3:`__proto__`属性
 | 
				
			||||||
 | 
				
			|||||||
@ -231,19 +231,19 @@ Promise对象, 可以**将异步操作以同步的流程表达出来**。使用
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            // 先发起request1,等resolve后再发起request2;紧接着,等 request2有了 resolve之后,再发起 request3
 | 
					            // 先发起request1,等resolve后再发起request2;紧接着,等 request2有了 resolve之后,再发起 request3
 | 
				
			||||||
            request1()
 | 
					            request1()
 | 
				
			||||||
                .then(data => {
 | 
					                .then(res1 => {
 | 
				
			||||||
                    // 接口1请求成功后,打印接口1的返回结果
 | 
					                    // 接口1请求成功后,打印接口1的返回结果
 | 
				
			||||||
                    console.log(data);
 | 
					                    console.log(res1);
 | 
				
			||||||
                    return request2();
 | 
					                    return request2();
 | 
				
			||||||
                })
 | 
					                })
 | 
				
			||||||
                .then(data => {
 | 
					                .then(res2 => {
 | 
				
			||||||
                    // 接口2请求成功后,打印接口2的返回结果
 | 
					                    // 接口2请求成功后,打印接口2的返回结果
 | 
				
			||||||
                    console.log(data);
 | 
					                    console.log(res2);
 | 
				
			||||||
                    return request3();
 | 
					                    return request3();
 | 
				
			||||||
                })
 | 
					                })
 | 
				
			||||||
                .then(data => {
 | 
					                .then(res3 => {
 | 
				
			||||||
                    // 接口3请求成功后,打印接口3的返回结果
 | 
					                    // 接口3请求成功后,打印接口3的返回结果
 | 
				
			||||||
                    console.log(data);
 | 
					                    console.log(res3);
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
        </script>
 | 
					        </script>
 | 
				
			||||||
    </body>
 | 
					    </body>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 2020-05-14
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [React中setState的怪异行为 ——setState没有即时生效](https://blog.csdn.net/handsomexiaominge/article/details/86348235)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					React 中的 setState 是异步操作。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 2020-04-09
 | 
					### 2020-04-09
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user