From 645816a014e805cde73bd02cbc01f5ec2c80d470 Mon Sep 17 00:00:00 2001 From: qianguyihao Date: Mon, 24 Feb 2025 12:53:32 +0800 Subject: [PATCH 1/5] update: readme --- README.md | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 60b719cb..6c9194a2 100644 --- a/README.md +++ b/README.md @@ -30,24 +30,18 @@ - 维护这个项目的初衷,可以看这篇文章:[《裸辞两个月,海投一个月,从Android转战Web前端的求职之路》](https://www.cnblogs.com/qianguyihao/p/8732781.html) -- 前端入门路线和推荐学习资源,可以看这篇文章:[《2022年Web前端开发流程和学习路线(详尽版)》](https://www.cnblogs.com/qianguyihao/p/16370961.html) - -## 赞赏作者 - -创作不易,你的赞赏和认可,是我更新的最大动力: - -![](https://img.smyhvae.com/20220401_1800.jpg) +- 前端入门路线和推荐学习资源,可以看这篇文章:[《2025年Web前端开发流程和学习路线(详尽版)》](https://www.cnblogs.com/qianguyihao/p/16370961.html) ## 学习交流 -扫码加我,请先主动做自我介绍,然后拉你进微信交流群: +在公众号「千古壹号」里回复“**前端学习**”,拉你进微信交流群: -- 添加暗号:前端学习 +- 进群暗号:前端学习 -- 进群要求:少闲聊、多分享(不适合长期潜水)。 +- 进群要求:少提问、少闲聊、多分享(不适合长期潜水)。 -![](https://img.smyhvae.com/202401081613034.jpg) +![](https://img.smyhvae.com/20210329_1930.png) ## LICENSE From 3b372f00e27df42a42dd0024ed1e794398666f13 Mon Sep 17 00:00:00 2001 From: qianguyihao Date: Mon, 24 Feb 2025 13:07:12 +0800 Subject: [PATCH 2/5] =?UTF-8?q?update:=20=E7=AE=97=E6=95=B0=E8=BF=90?= =?UTF-8?q?=E7=AE=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0-\350\277\220\347\256\227\347\254\246.md" | 127 ++++++++++-------- 1 file changed, 68 insertions(+), 59 deletions(-) diff --git "a/04-JavaScript\345\237\272\347\241\200/10-\350\277\220\347\256\227\347\254\246.md" "b/04-JavaScript\345\237\272\347\241\200/10-\350\277\220\347\256\227\347\254\246.md" index 778437be..81239776 100644 --- "a/04-JavaScript\345\237\272\347\241\200/10-\350\277\220\347\256\227\347\254\246.md" +++ "b/04-JavaScript\345\237\272\347\241\200/10-\350\277\220\347\256\227\347\254\246.md" @@ -154,6 +154,72 @@ console.log(0.07 * 100); // 运算结果不是 7,而是 7.000000000000001 我们也可以在开源网站找到一些已经封装好的工具类,比较知名的是 [big.js](https://github.com/MikeMcl/big.js)。 + + +## 赋值运算符 + +赋值:将等号右侧的值赋给符号左侧的变量。 + +### 赋值运算符包括哪些 + +| 运算符 | 运算规则 | 举例 | +| ------ | ------------ | --------------------------- | +| = | 直接赋值 | let a = 5 | +| += | 加后赋值 | a += 5 等价于 a = a + 5 | +| -= | 减后赋值 | a -= 5 等价于 a = a - 5 | +| *= | 乘后赋值 | a *= 5 等价于 a = a * 5 | +| /= | 除后赋值 | a /= 5 等价于 a = a / 5 | +| %= | 取余数后赋值 | a %= 5 等价于 a = a % 5 | +| **= | 幂运算后赋值 | `a **= 5` 等价于 `a = a**5` | + +### 直接赋值 + +`=` 运算符是直接赋值,很容易理解。比如 `let a = 5`。意思是把 5 这个值,往 a 里面存一份。简称:把 5 赋值给 a。 + +我们要注意, a = 5 是有返回值的,它的返回值就等于5。因为**赋值操作本身也是一个表达式,它会返回赋值后的值**。 + +举例: + +```js +let a; +console.log(a = 5); // 打印结果为5。 +``` + +在上面的情况中,a = 5 语句不仅会将 5 赋值给 a,而且还会返回 5 作为整个表达式的值。 + +算数运算符的优先级高于赋值运算符。举例: + +```js +const result = 1 + 2; // 先计算 1 + 2,再把计算结果赋值给 result。因为算数运算符的优先级高于赋值运算符。 +``` + +**原地修改**(Modify-in-place): + +“原地修改”是数据结构中比较常见的概念。定义是:直接在数据原有的存储位置上进行修改,而不是创建一个新的副本(即新的存储空间)来存储修改后的结果。这种方式可以减少内存的使用,因为不需要额外的存储空间来保存修改后的数据。 + +通俗理解:对一个变量进行运算,并将新的运算结果存储在原有变量中。 + +上面列出的赋值运算符中,`=`符号是直接赋值,其他的赋值运算都是属于原地修改。 + +### 链式赋值(chaining assignments) + +举例: + +```js + const a = b = c = 2; +``` + +解释:把 a、b、c 都赋值为2。 + +注意:链式赋值的结合性是右结合性(从右至左的顺序进行计算)。举例: + +```js +const a, b; +a = b = 3; // 先将 3 复制给 b,再将 b 的值赋值给 a +``` + + + ## 自增和自减运算符 ### 自增运算符 `++` @@ -216,9 +282,9 @@ console.log(n2); // 18 console.log(result2); // 18 ``` -### 隐式类型转换 +### 隐式类型转换的过程 -自增和自减时,a的执行过程: +自增和自减时,变量 a 包含了隐式类型转换的过程: (1)先调用`Number(a)`函数; @@ -541,63 +607,6 @@ if (result.retCode == 0) { -## 赋值运算符 - -赋值:将等号右侧的值赋给符号左侧的变量。 - -### 赋值运算符包括哪些 - -| 运算符 | 运算规则 | 举例 | -| ------ | ------------ | --------------------------- | -| = | 直接赋值 | let a = 5 | -| += | 加后赋值 | a += 5 等价于 a = a + 5 | -| -= | 减后赋值 | a -= 5 等价于 a = a - 5 | -| *= | 乘后赋值 | a *= 5 等价于 a = a * 5 | -| /= | 除后赋值 | a /= 5 等价于 a = a / 5 | -| %= | 取余数后赋值 | a %= 5 等价于 a = a % 5 | -| **= | 幂运算后赋值 | `a **= 5` 等价于 `a = a**5` | - -1、直接赋值: - -`=` 运算符是直接赋值,很容易理解。比如 `let a = 5`。意思是把 5 这个值,往 a 里面存一份。简称:把 5 赋值给 a。 - -2、优先级:算数运算符的优先级高于赋值运算符。举例: - -```js -const result = 1 + 2; // 先计算 1 + 2,再把计算结果赋值给 result。因为算数运算符的优先级高于赋值运算符。 -``` - -3、**原地修改**(Modify-in-place): - -“原地修改”是数据结构中比较常见的概念。定义是:直接在数据原有的存储位置上进行修改,而不是创建一个新的副本(即新的存储空间)来存储修改后的结果。这种方式可以减少内存的使用,因为不需要额外的存储空间来保存修改后的数据。 - -通俗理解:对一个变量进行运算,并将新的运算结果存储在原有变量中。 - -上面列出的赋值运算符中,`=`符号是直接赋值,其他的赋值运算都是属于原地修改。 - - - -### 链式赋值(chaining assignments) - -举例: - -```js - const a = b = c = 2; -``` - -解释:把 a、b、c 都赋值为2。 - -注意:链式赋值的结合性是右结合性(从右至左的顺序进行计算)。举例: - -```js -const a, b; -a = b = 3; // 先将 3 复制给 b,再将 b 的值赋值给 a -``` - - - - - ## 比较运算符 From 81a55f4c0ea698d8e26c65f826e60349fd871787 Mon Sep 17 00:00:00 2001 From: qianguyihao Date: Mon, 24 Feb 2025 13:21:36 +0800 Subject: [PATCH 3/5] =?UTF-8?q?update:=20=E8=87=AA=E5=A2=9E=E8=BF=90?= =?UTF-8?q?=E7=AE=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0-\350\277\220\347\256\227\347\254\246.md" | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git "a/04-JavaScript\345\237\272\347\241\200/10-\350\277\220\347\256\227\347\254\246.md" "b/04-JavaScript\345\237\272\347\241\200/10-\350\277\220\347\256\227\347\254\246.md" index 81239776..95620e52 100644 --- "a/04-JavaScript\345\237\272\347\241\200/10-\350\277\220\347\256\227\347\254\246.md" +++ "b/04-JavaScript\345\237\272\347\241\200/10-\350\277\220\347\256\227\347\254\246.md" @@ -224,7 +224,9 @@ a = b = 3; // 先将 3 复制给 b,再将 b 的值赋值给 a ### 自增运算符 `++` -作用:可以快速对一个变量进行加1操作。只能操作变量,不能操作常量或者表达式。 +作用:可以快速对一个变量进行加1操作。 + +注意事项:只能操作变量,不能操作常量或者表达式,否则会报错。 例如: @@ -234,7 +236,7 @@ let a2 = 2; a1++; const result = a1++ + a2; // result的结果为4 -// (a1+a2)++; // 报错,没有这种写法 +// (a1+a2)++; // 报错,不支持表达式的写法, const a3 = 3; a3++; // 报错,因为常量无法再自加 @@ -246,12 +248,30 @@ a3++; // 报错,因为常量无法再自加 (2)**我们要注意的是**:`a`是变量,而`a++`和`++a`是**表达式**。 +(3)如果只想使用 a 的值,不使用表达式的值,那么这两种写法都可以,因为 a 的值没有区别。一般是用 a++ 这种写法更多一些。 + 那这两种自增,有啥区别呢?区别是:`a++` 和 `++a`的值不同:(也就是说,表达式的值不同) - `a++`这个表达式的值等于原变量的值(a 自增前的值)。可以这样理解:先把 a 的值赋值给表达式,然后 a 再自增。 - `++a`这个表达式的值等于新值 (a 自增后的值)。 可以这样理解:a 先自增,然后把自增后的值赋值给表达式。 +举例: + +```js +let a1 = 3; +const result1 = 10 + a1++; + +console.log('a1:', a1); // 打印结果:4 +console.log('result1:', result1); // 打印结果:13 + +let a2 = 3; +const result2 = 10 + ++a2; + +console.log('a2:', a2); // 打印结果:4 +console.log('result2:', result2); // 打印结果:14 +``` + ### 自减运算符 `--` 作用:可以快速对一个变量进行减1操作。原理同自增运算符。 From 7b0eda5179ca4cf3af95005ba97e8ebe05500d1d Mon Sep 17 00:00:00 2001 From: qianguyihao Date: Mon, 8 Dec 2025 17:36:56 +0800 Subject: [PATCH 4/5] update: rename file --- ...57\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" | 0 ...57\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename "16-\345\211\215\347\253\257\347\273\274\345\220\210/01-2022\345\271\264Web\345\211\215\347\253\257\345\274\200\345\217\221\346\265\201\347\250\213\345\222\214\345\255\246\344\271\240\350\267\257\347\272\277\357\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" => "16-\345\211\215\347\253\257\347\273\274\345\220\210/01-Web\345\211\215\347\253\257\345\274\200\345\217\221\346\265\201\347\250\213\345\222\214\345\255\246\344\271\240\350\267\257\347\272\277\357\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" (100%) rename "16-\345\211\215\347\253\257\347\273\274\345\220\210/02-2022\345\271\264Web\345\211\215\347\253\257\345\205\245\351\227\250\350\207\252\345\255\246\350\267\257\347\272\277\357\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" => "16-\345\211\215\347\253\257\347\273\274\345\220\210/02-Web\345\211\215\347\253\257\345\205\245\351\227\250\350\207\252\345\255\246\350\267\257\347\272\277\357\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" (100%) diff --git "a/16-\345\211\215\347\253\257\347\273\274\345\220\210/01-2022\345\271\264Web\345\211\215\347\253\257\345\274\200\345\217\221\346\265\201\347\250\213\345\222\214\345\255\246\344\271\240\350\267\257\347\272\277\357\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" "b/16-\345\211\215\347\253\257\347\273\274\345\220\210/01-Web\345\211\215\347\253\257\345\274\200\345\217\221\346\265\201\347\250\213\345\222\214\345\255\246\344\271\240\350\267\257\347\272\277\357\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" similarity index 100% rename from "16-\345\211\215\347\253\257\347\273\274\345\220\210/01-2022\345\271\264Web\345\211\215\347\253\257\345\274\200\345\217\221\346\265\201\347\250\213\345\222\214\345\255\246\344\271\240\350\267\257\347\272\277\357\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" rename to "16-\345\211\215\347\253\257\347\273\274\345\220\210/01-Web\345\211\215\347\253\257\345\274\200\345\217\221\346\265\201\347\250\213\345\222\214\345\255\246\344\271\240\350\267\257\347\272\277\357\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" diff --git "a/16-\345\211\215\347\253\257\347\273\274\345\220\210/02-2022\345\271\264Web\345\211\215\347\253\257\345\205\245\351\227\250\350\207\252\345\255\246\350\267\257\347\272\277\357\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" "b/16-\345\211\215\347\253\257\347\273\274\345\220\210/02-Web\345\211\215\347\253\257\345\205\245\351\227\250\350\207\252\345\255\246\350\267\257\347\272\277\357\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" similarity index 100% rename from "16-\345\211\215\347\253\257\347\273\274\345\220\210/02-2022\345\271\264Web\345\211\215\347\253\257\345\205\245\351\227\250\350\207\252\345\255\246\350\267\257\347\272\277\357\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" rename to "16-\345\211\215\347\253\257\347\273\274\345\220\210/02-Web\345\211\215\347\253\257\345\205\245\351\227\250\350\207\252\345\255\246\350\267\257\347\272\277\357\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" From 2beefdef205982d0a41fe74681a0e13d41947bc7 Mon Sep 17 00:00:00 2001 From: qianguyihao Date: Mon, 8 Dec 2025 17:38:37 +0800 Subject: [PATCH 5/5] update: rename file --- ...74\210\350\257\246\345\260\275\347\211\210\357\274\211.md" | 4 ++-- ...74\210\347\262\276\347\256\200\347\211\210\357\274\211.md" | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git "a/16-\345\211\215\347\253\257\347\273\274\345\220\210/01-Web\345\211\215\347\253\257\345\274\200\345\217\221\346\265\201\347\250\213\345\222\214\345\255\246\344\271\240\350\267\257\347\272\277\357\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" "b/16-\345\211\215\347\253\257\347\273\274\345\220\210/01-Web\345\211\215\347\253\257\345\274\200\345\217\221\346\265\201\347\250\213\345\222\214\345\255\246\344\271\240\350\267\257\347\272\277\357\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" index 8ba7a855..ce398c65 100644 --- "a/16-\345\211\215\347\253\257\347\273\274\345\220\210/01-Web\345\211\215\347\253\257\345\274\200\345\217\221\346\265\201\347\250\213\345\222\214\345\255\246\344\271\240\350\267\257\347\272\277\357\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" +++ "b/16-\345\211\215\347\253\257\347\273\274\345\220\210/01-Web\345\211\215\347\253\257\345\274\200\345\217\221\346\265\201\347\250\213\345\222\214\345\255\246\344\271\240\350\267\257\347\272\277\357\274\210\350\257\246\345\260\275\347\211\210\357\274\211.md" @@ -1,12 +1,12 @@ --- -title: 01-2022年Web前端开发流程和学习路线(详尽版) +title: 01-Web前端开发流程和学习路线(详尽版) --- -> 本文的最新内容,更新于 2022-06-27,会在[GitHub](https://github.com/qianguyihao/Web/blob/master/17-%E5%89%8D%E7%AB%AF%E7%BB%BC%E5%90%88/01-2022%E5%B9%B4Web%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B%E5%92%8C%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF%EF%BC%88%E8%AF%A6%E5%B0%BD%E7%89%88%EF%BC%89.md)上同步更新,欢迎 star。大家完全不用担心这篇文章会过时,因为随着前端领域的技术更新,本文也会随之更新。 +> 本文的最新内容,会在[GitHub](https://github.com/qianguyihao/Web/blob/master/17-%E5%89%8D%E7%AB%AF%E7%BB%BC%E5%90%88/01-2022%E5%B9%B4Web%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B%E5%92%8C%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF%EF%BC%88%E8%AF%A6%E5%B0%BD%E7%89%88%EF%BC%89.md)上同步更新,欢迎 star。大家完全不用担心这篇文章会过时,因为随着前端领域的技术更新,本文也会随之更新。 ## 前言 diff --git "a/16-\345\211\215\347\253\257\347\273\274\345\220\210/02-Web\345\211\215\347\253\257\345\205\245\351\227\250\350\207\252\345\255\246\350\267\257\347\272\277\357\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" "b/16-\345\211\215\347\253\257\347\273\274\345\220\210/02-Web\345\211\215\347\253\257\345\205\245\351\227\250\350\207\252\345\255\246\350\267\257\347\272\277\357\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" index 81aad4d4..8dd6e318 100644 --- "a/16-\345\211\215\347\253\257\347\273\274\345\220\210/02-Web\345\211\215\347\253\257\345\205\245\351\227\250\350\207\252\345\255\246\350\267\257\347\272\277\357\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" +++ "b/16-\345\211\215\347\253\257\347\273\274\345\220\210/02-Web\345\211\215\347\253\257\345\205\245\351\227\250\350\207\252\345\255\246\350\267\257\347\272\277\357\274\210\347\262\276\347\256\200\347\211\210\357\274\211.md" @@ -1,11 +1,11 @@ --- -title: 02-2022年Web前端入门自学路线(精简版) +title: 02-Web前端入门自学路线(精简版) --- -> 本文的最新内容,更新于**2021-10-09**。大家完全不用担心这篇文章会过时,因为随着 前端技术的更新,本文也会随之更新。 +> 本文的最新内容,会随着前端技术的更新,本文也会随之更新。 > 本文的最新内容也会在[GitHub](https://github.com/qianguyihao/Web)上实时更新。欢迎在GitHub上关注我,一起入门和进阶前端。