From cb804e2a3efdfc531cfb3c0bda97cac31194c812 Mon Sep 17 00:00:00 2001 From: qianguyihao Date: Mon, 17 May 2021 23:19:13 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E6=96=87=E4=BB=B6=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../01-服务器分类及PHP入门.md | 0 .../02-Ajax入门和发送http请求.md | 0 .../03-函数封装-Ajax发送http请求(get&post).md | 0 .../04-同源和跨域.md | 0 .../05-模板引擎.md | 0 .../01-ES6的介绍和环境配置.md | 0 .../02-ES5中的严格模式.md | 0 .../03-ES5中的一些扩展.md | 0 .../04-ES6:变量 let、const 和块级作用域.md | 38 ++++++++++++++----- .../05-ES6:变量的解构赋值.md | 0 .../06-ES6:箭头函数.md | 0 .../07-剩余参数和扩展运算符.md | 0 .../08-字符串、数组、对象的扩展.md | 0 .../09-内置对象扩展:Set数据结构.md | 0 .../10-Promise入门详解.md | 0 .../10-单线程和异步.md | 0 .../11-Promise的常见用法和API.md | 0 .../12-ES7:async函数详解.md | 0 .../ES6:Symbol.md | 0 .../01-var、let、const的区别.md | 0 .../02-数据的赋值.md | 0 .../JavaScript开发积累.md | 0 .../call、apply、bind的区别.md | 0 .../this.md | 0 .../作用域和闭包.md | 0 .../创建对象和继承.md | 0 .../01-CSS基础练习:JD首页的制作(顶部和底部).md | 0 .../02-CSS基础练习:JD首页的制作(快捷导航部分).md | 0 .../03-DOM操作练习:基础练习.md | 0 .../04-DOM操作练习:Tab栏切换(通过className设置样式).md | 0 .../05-DOM操作练习:访问关系的封装.md | 0 .../07-DOM操作练习:innerHTML的方式创建元素.md | 0 32 files changed, 28 insertions(+), 10 deletions(-) rename {08-Ajax => 05-JavaScript:异步编程和Ajax}/01-服务器分类及PHP入门.md (100%) rename {08-Ajax => 05-JavaScript:异步编程和Ajax}/02-Ajax入门和发送http请求.md (100%) rename {08-Ajax => 05-JavaScript:异步编程和Ajax}/03-函数封装-Ajax发送http请求(get&post).md (100%) rename {08-Ajax => 05-JavaScript:异步编程和Ajax}/04-同源和跨域.md (100%) rename {08-Ajax => 05-JavaScript:异步编程和Ajax}/05-模板引擎.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/01-ES6的介绍和环境配置.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/02-ES5中的严格模式.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/03-ES5中的一些扩展.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/04-ES6:变量 let、const 和块级作用域.md (93%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/05-ES6:变量的解构赋值.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/06-ES6:箭头函数.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/07-剩余参数和扩展运算符.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/08-字符串、数组、对象的扩展.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/09-内置对象扩展:Set数据结构.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/10-Promise入门详解.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/10-单线程和异步.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/11-Promise的常见用法和API.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/12-ES7:async函数详解.md (100%) rename {05-JavaScript基础:ES6语法 => 06-JavaScript基础:ES6语法}/ES6:Symbol.md (100%) rename {06-JavaScript进阶 => 07-JavaScript进阶}/01-var、let、const的区别.md (100%) rename {06-JavaScript进阶 => 07-JavaScript进阶}/02-数据的赋值.md (100%) rename {06-JavaScript进阶 => 07-JavaScript进阶}/JavaScript开发积累.md (100%) rename {06-JavaScript进阶 => 07-JavaScript进阶}/call、apply、bind的区别.md (100%) rename {06-JavaScript进阶 => 07-JavaScript进阶}/this.md (100%) rename {06-JavaScript进阶 => 07-JavaScript进阶}/作用域和闭包.md (100%) rename {06-JavaScript进阶 => 07-JavaScript进阶}/创建对象和继承.md (100%) rename {07-前端基本功:CSS和DOM练习 => 08-前端基本功:CSS和DOM练习}/01-CSS基础练习:JD首页的制作(顶部和底部).md (100%) rename {07-前端基本功:CSS和DOM练习 => 08-前端基本功:CSS和DOM练习}/02-CSS基础练习:JD首页的制作(快捷导航部分).md (100%) rename {07-前端基本功:CSS和DOM练习 => 08-前端基本功:CSS和DOM练习}/03-DOM操作练习:基础练习.md (100%) rename {07-前端基本功:CSS和DOM练习 => 08-前端基本功:CSS和DOM练习}/04-DOM操作练习:Tab栏切换(通过className设置样式).md (100%) rename {07-前端基本功:CSS和DOM练习 => 08-前端基本功:CSS和DOM练习}/05-DOM操作练习:访问关系的封装.md (100%) rename {07-前端基本功:CSS和DOM练习 => 08-前端基本功:CSS和DOM练习}/07-DOM操作练习:innerHTML的方式创建元素.md (100%) diff --git a/08-Ajax/01-服务器分类及PHP入门.md b/05-JavaScript:异步编程和Ajax/01-服务器分类及PHP入门.md similarity index 100% rename from 08-Ajax/01-服务器分类及PHP入门.md rename to 05-JavaScript:异步编程和Ajax/01-服务器分类及PHP入门.md diff --git a/08-Ajax/02-Ajax入门和发送http请求.md b/05-JavaScript:异步编程和Ajax/02-Ajax入门和发送http请求.md similarity index 100% rename from 08-Ajax/02-Ajax入门和发送http请求.md rename to 05-JavaScript:异步编程和Ajax/02-Ajax入门和发送http请求.md diff --git a/08-Ajax/03-函数封装-Ajax发送http请求(get&post).md b/05-JavaScript:异步编程和Ajax/03-函数封装-Ajax发送http请求(get&post).md similarity index 100% rename from 08-Ajax/03-函数封装-Ajax发送http请求(get&post).md rename to 05-JavaScript:异步编程和Ajax/03-函数封装-Ajax发送http请求(get&post).md diff --git a/08-Ajax/04-同源和跨域.md b/05-JavaScript:异步编程和Ajax/04-同源和跨域.md similarity index 100% rename from 08-Ajax/04-同源和跨域.md rename to 05-JavaScript:异步编程和Ajax/04-同源和跨域.md diff --git a/08-Ajax/05-模板引擎.md b/05-JavaScript:异步编程和Ajax/05-模板引擎.md similarity index 100% rename from 08-Ajax/05-模板引擎.md rename to 05-JavaScript:异步编程和Ajax/05-模板引擎.md diff --git a/05-JavaScript基础:ES6语法/01-ES6的介绍和环境配置.md b/06-JavaScript基础:ES6语法/01-ES6的介绍和环境配置.md similarity index 100% rename from 05-JavaScript基础:ES6语法/01-ES6的介绍和环境配置.md rename to 06-JavaScript基础:ES6语法/01-ES6的介绍和环境配置.md diff --git a/05-JavaScript基础:ES6语法/02-ES5中的严格模式.md b/06-JavaScript基础:ES6语法/02-ES5中的严格模式.md similarity index 100% rename from 05-JavaScript基础:ES6语法/02-ES5中的严格模式.md rename to 06-JavaScript基础:ES6语法/02-ES5中的严格模式.md diff --git a/05-JavaScript基础:ES6语法/03-ES5中的一些扩展.md b/06-JavaScript基础:ES6语法/03-ES5中的一些扩展.md similarity index 100% rename from 05-JavaScript基础:ES6语法/03-ES5中的一些扩展.md rename to 06-JavaScript基础:ES6语法/03-ES5中的一些扩展.md diff --git a/05-JavaScript基础:ES6语法/04-ES6:变量 let、const 和块级作用域.md b/06-JavaScript基础:ES6语法/04-ES6:变量 let、const 和块级作用域.md similarity index 93% rename from 05-JavaScript基础:ES6语法/04-ES6:变量 let、const 和块级作用域.md rename to 06-JavaScript基础:ES6语法/04-ES6:变量 let、const 和块级作用域.md index 4d55f92..1f7255d 100644 --- a/05-JavaScript基础:ES6语法/04-ES6:变量 let、const 和块级作用域.md +++ b/06-JavaScript基础:ES6语法/04-ES6:变量 let、const 和块级作用域.md @@ -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'; //定义常量 ### 总结 -关于 let、const、var 更详细的介绍和区别,可以看本项目的另一篇文章《JavaScript 进阶/var、let、const 的区别.md》。 +关于 let、const、var 更详细的介绍和区别,可以看本项目的另一篇文章《JavaScript 进阶/var、let、const 的区别》。 ## 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/) - - ## 我的公众号 想学习**代码之外的技能**?不妨关注我的微信公众号:**千古壹号**。 diff --git a/05-JavaScript基础:ES6语法/05-ES6:变量的解构赋值.md b/06-JavaScript基础:ES6语法/05-ES6:变量的解构赋值.md similarity index 100% rename from 05-JavaScript基础:ES6语法/05-ES6:变量的解构赋值.md rename to 06-JavaScript基础:ES6语法/05-ES6:变量的解构赋值.md diff --git a/05-JavaScript基础:ES6语法/06-ES6:箭头函数.md b/06-JavaScript基础:ES6语法/06-ES6:箭头函数.md similarity index 100% rename from 05-JavaScript基础:ES6语法/06-ES6:箭头函数.md rename to 06-JavaScript基础:ES6语法/06-ES6:箭头函数.md diff --git a/05-JavaScript基础:ES6语法/07-剩余参数和扩展运算符.md b/06-JavaScript基础:ES6语法/07-剩余参数和扩展运算符.md similarity index 100% rename from 05-JavaScript基础:ES6语法/07-剩余参数和扩展运算符.md rename to 06-JavaScript基础:ES6语法/07-剩余参数和扩展运算符.md diff --git a/05-JavaScript基础:ES6语法/08-字符串、数组、对象的扩展.md b/06-JavaScript基础:ES6语法/08-字符串、数组、对象的扩展.md similarity index 100% rename from 05-JavaScript基础:ES6语法/08-字符串、数组、对象的扩展.md rename to 06-JavaScript基础:ES6语法/08-字符串、数组、对象的扩展.md diff --git a/05-JavaScript基础:ES6语法/09-内置对象扩展:Set数据结构.md b/06-JavaScript基础:ES6语法/09-内置对象扩展:Set数据结构.md similarity index 100% rename from 05-JavaScript基础:ES6语法/09-内置对象扩展:Set数据结构.md rename to 06-JavaScript基础:ES6语法/09-内置对象扩展:Set数据结构.md diff --git a/05-JavaScript基础:ES6语法/10-Promise入门详解.md b/06-JavaScript基础:ES6语法/10-Promise入门详解.md similarity index 100% rename from 05-JavaScript基础:ES6语法/10-Promise入门详解.md rename to 06-JavaScript基础:ES6语法/10-Promise入门详解.md diff --git a/05-JavaScript基础:ES6语法/10-单线程和异步.md b/06-JavaScript基础:ES6语法/10-单线程和异步.md similarity index 100% rename from 05-JavaScript基础:ES6语法/10-单线程和异步.md rename to 06-JavaScript基础:ES6语法/10-单线程和异步.md diff --git a/05-JavaScript基础:ES6语法/11-Promise的常见用法和API.md b/06-JavaScript基础:ES6语法/11-Promise的常见用法和API.md similarity index 100% rename from 05-JavaScript基础:ES6语法/11-Promise的常见用法和API.md rename to 06-JavaScript基础:ES6语法/11-Promise的常见用法和API.md diff --git a/05-JavaScript基础:ES6语法/12-ES7:async函数详解.md b/06-JavaScript基础:ES6语法/12-ES7:async函数详解.md similarity index 100% rename from 05-JavaScript基础:ES6语法/12-ES7:async函数详解.md rename to 06-JavaScript基础:ES6语法/12-ES7:async函数详解.md diff --git a/05-JavaScript基础:ES6语法/ES6:Symbol.md b/06-JavaScript基础:ES6语法/ES6:Symbol.md similarity index 100% rename from 05-JavaScript基础:ES6语法/ES6:Symbol.md rename to 06-JavaScript基础:ES6语法/ES6:Symbol.md diff --git a/06-JavaScript进阶/01-var、let、const的区别.md b/07-JavaScript进阶/01-var、let、const的区别.md similarity index 100% rename from 06-JavaScript进阶/01-var、let、const的区别.md rename to 07-JavaScript进阶/01-var、let、const的区别.md diff --git a/06-JavaScript进阶/02-数据的赋值.md b/07-JavaScript进阶/02-数据的赋值.md similarity index 100% rename from 06-JavaScript进阶/02-数据的赋值.md rename to 07-JavaScript进阶/02-数据的赋值.md diff --git a/06-JavaScript进阶/JavaScript开发积累.md b/07-JavaScript进阶/JavaScript开发积累.md similarity index 100% rename from 06-JavaScript进阶/JavaScript开发积累.md rename to 07-JavaScript进阶/JavaScript开发积累.md diff --git a/06-JavaScript进阶/call、apply、bind的区别.md b/07-JavaScript进阶/call、apply、bind的区别.md similarity index 100% rename from 06-JavaScript进阶/call、apply、bind的区别.md rename to 07-JavaScript进阶/call、apply、bind的区别.md diff --git a/06-JavaScript进阶/this.md b/07-JavaScript进阶/this.md similarity index 100% rename from 06-JavaScript进阶/this.md rename to 07-JavaScript进阶/this.md diff --git a/06-JavaScript进阶/作用域和闭包.md b/07-JavaScript进阶/作用域和闭包.md similarity index 100% rename from 06-JavaScript进阶/作用域和闭包.md rename to 07-JavaScript进阶/作用域和闭包.md diff --git a/06-JavaScript进阶/创建对象和继承.md b/07-JavaScript进阶/创建对象和继承.md similarity index 100% rename from 06-JavaScript进阶/创建对象和继承.md rename to 07-JavaScript进阶/创建对象和继承.md diff --git a/07-前端基本功:CSS和DOM练习/01-CSS基础练习:JD首页的制作(顶部和底部).md b/08-前端基本功:CSS和DOM练习/01-CSS基础练习:JD首页的制作(顶部和底部).md similarity index 100% rename from 07-前端基本功:CSS和DOM练习/01-CSS基础练习:JD首页的制作(顶部和底部).md rename to 08-前端基本功:CSS和DOM练习/01-CSS基础练习:JD首页的制作(顶部和底部).md diff --git a/07-前端基本功:CSS和DOM练习/02-CSS基础练习:JD首页的制作(快捷导航部分).md b/08-前端基本功:CSS和DOM练习/02-CSS基础练习:JD首页的制作(快捷导航部分).md similarity index 100% rename from 07-前端基本功:CSS和DOM练习/02-CSS基础练习:JD首页的制作(快捷导航部分).md rename to 08-前端基本功:CSS和DOM练习/02-CSS基础练习:JD首页的制作(快捷导航部分).md diff --git a/07-前端基本功:CSS和DOM练习/03-DOM操作练习:基础练习.md b/08-前端基本功:CSS和DOM练习/03-DOM操作练习:基础练习.md similarity index 100% rename from 07-前端基本功:CSS和DOM练习/03-DOM操作练习:基础练习.md rename to 08-前端基本功:CSS和DOM练习/03-DOM操作练习:基础练习.md diff --git a/07-前端基本功:CSS和DOM练习/04-DOM操作练习:Tab栏切换(通过className设置样式).md b/08-前端基本功:CSS和DOM练习/04-DOM操作练习:Tab栏切换(通过className设置样式).md similarity index 100% rename from 07-前端基本功:CSS和DOM练习/04-DOM操作练习:Tab栏切换(通过className设置样式).md rename to 08-前端基本功:CSS和DOM练习/04-DOM操作练习:Tab栏切换(通过className设置样式).md diff --git a/07-前端基本功:CSS和DOM练习/05-DOM操作练习:访问关系的封装.md b/08-前端基本功:CSS和DOM练习/05-DOM操作练习:访问关系的封装.md similarity index 100% rename from 07-前端基本功:CSS和DOM练习/05-DOM操作练习:访问关系的封装.md rename to 08-前端基本功:CSS和DOM练习/05-DOM操作练习:访问关系的封装.md diff --git a/07-前端基本功:CSS和DOM练习/07-DOM操作练习:innerHTML的方式创建元素.md b/08-前端基本功:CSS和DOM练习/07-DOM操作练习:innerHTML的方式创建元素.md similarity index 100% rename from 07-前端基本功:CSS和DOM练习/07-DOM操作练习:innerHTML的方式创建元素.md rename to 08-前端基本功:CSS和DOM练习/07-DOM操作练习:innerHTML的方式创建元素.md