update: 文件结构调整

This commit is contained in:
qianguyihao 2021-05-17 23:19:13 +08:00
parent b34943e616
commit cb804e2a3e
32 changed files with 28 additions and 10 deletions

View File

@ -81,7 +81,6 @@ for (var i = 0; i < 10; i++) {
console.log('循环体外:' + i);
```
上方代码可以正常打印结果且最后一行的打印结果是 10说明**循环体外**定义的变量 i**全局作用域**下的 i
2 let 声明变量
@ -116,18 +115,18 @@ const name = 'smyhvae'; //定义常量
### let const 的特点重要
- 不属于顶层对象 Window
- 不允许重复声明
- 不存在变量提升
- 禁止重复声明
- 支持块级作用域
- 暂时性死区
- 支持块级作用域
相反 `var`声明的变量存在变量提升可以重复声明**没有块级作用域**
### var/let/const
- 全局作用域中定义的变量可以在函数中使用
@ -136,7 +135,7 @@ const name = 'smyhvae'; //定义常量
### 总结
关于 letconstvar 更详细的介绍和区别可以看本项目的另一篇文章JavaScript 进阶/varletconst 的区别.md
关于 letconstvar 更详细的介绍和区别可以看本项目的另一篇文章JavaScript 进阶/varletconst 的区别
## for 循环举例经典案例
@ -239,8 +238,9 @@ i++; // 到这里i 的值已经是4了。因此当我们点击按钮时
上面这个运行结果才是我们预期的效果我们用 let 定义变量 i在循环的过程中每执行一次循环体就会诞生一个新的 i循环体执行 4 就会有四个 i
## 补充知识
## 暂时性死区 DTC
### 暂时性死区 DTC
ES6 规定使用 let/const 使使
@ -261,12 +261,30 @@ function foo() {
foo(); // 执行函数后控制台报错Uncaught ReferenceError: Cannot access 'name' before initialization
```
### ES5 中如何定义常量
ES5中有`Object.defineProperty`这样一个api可以定义常量这个API中接收三个参数
代码举例
```js
// 定义常量 PI
Object.defineProperty(window, 'PI', {
value: 3.14,
writable: false,
});
console.log(PI); // 打印结果3.14
PI = 6; //尝试修改常量
console.log(PI); //打印结果3.14,说明修改失败
```
## 参考链接
- [阮一峰 | ECMAScript 6 入门](http://es6.ruanyifeng.com/)
## 我的公众号
想学习**代码之外的技能**不妨关注我的微信公众号**千古壹号**