From 9ad28fdb1799bcc6aef5c06726c1af978af7506a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= <1409177310@qq.com> Date: Sun, 16 Nov 2025 14:42:36 +0000 Subject: [PATCH 1/9] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20read?= =?UTF-8?q?me.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 readme.md diff --git a/readme.md b/readme.md deleted file mode 100644 index 04e25fa..0000000 --- a/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -## 24级软件2班 JavaScript笔记 - -上课录屏地址:https://www.alipan.com/s/N1FfgZbvgrP - -"天行健,君子以自强不息。" —— 《周易》 \ No newline at end of file -- Gitee From 9842dee7ce794d548c1d34c9ce74119384c72870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= <1409177310@qq.com> Date: Sun, 16 Nov 2025 23:06:51 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... - \345\210\235\350\257\206 JavaScript.md" | 98 +++++++++++ ...& \350\277\220\347\256\227\347\254\246.md" | 158 ++++++++++++++++++ ...47\345\210\266\350\257\255\345\217\245.md" | 151 +++++++++++++++++ 3 files changed, 407 insertions(+) create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.10 - \345\210\235\350\257\206 JavaScript.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.12 - \345\217\230\351\207\217\344\270\216\345\270\270\351\207\217 & \350\277\220\347\256\227\347\254\246.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.13 - \346\265\201\347\250\213\346\216\247\345\210\266\350\257\255\345\217\245.md" diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.10 - \345\210\235\350\257\206 JavaScript.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.10 - \345\210\235\350\257\206 JavaScript.md" new file mode 100644 index 0000000..3b2c6e7 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.10 - \345\210\235\350\257\206 JavaScript.md" @@ -0,0 +1,98 @@ +# 2025.11.10_课堂笔记 - 初识 JavaScript + +## 基础关系 + +**HTML**:结构 +**CSS**:样式 +**JavaScript**:功能 +> 注意:JavaScrip 在语法上区分大小写 + +## 引入方式 + +- 常见方式 + + 1. 页面内部写法 (Inline Script) + > `` + 2. 引入外部 JS 文件 (External Script) + > `` + > 这是目前主流的方法,代码整洁且可复用 + 3. 标签内部事件写法 (Inline Event) + > `` + > 直观,但混杂 + +- 位置示例 + + ```html + + + + + + Document + + + + + + + + ``` + +## 练习 + +### 练习一:输出老子的名言 + +**页面预览:** + +**代码示例:** + +```html + + + + + + + 名言 + + + + + + + + +``` + +### 练习二:明日学院官网地址 + +**页面预览:** + +**代码示例:** + +```html + + + + + + + 明日学院 + + + + + + + +``` + +```JS +alert("http://www.mingrisoft.com"); +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.12 - \345\217\230\351\207\217\344\270\216\345\270\270\351\207\217 & \350\277\220\347\256\227\347\254\246.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.12 - \345\217\230\351\207\217\344\270\216\345\270\270\351\207\217 & \350\277\220\347\256\227\347\254\246.md" new file mode 100644 index 0000000..44b10e1 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.12 - \345\217\230\351\207\217\344\270\216\345\270\270\351\207\217 & \350\277\220\347\256\227\347\254\246.md" @@ -0,0 +1,158 @@ +# 2025.11.12_课堂笔记 - 变量与常量 & 运算符 + +## 变量与常量 + +1. **变量 ``let``**:赋值过一次之后可以二次赋值**覆盖**,最常用。 +2. **常量 ``const``**:不能重新赋值,存放不会/不容许改变的数据 +3. ``var``:老古董,没有块级作用域经常产生问题,不推荐使用。 + +## 数据类型 + +1. **数字 Number:**``let age = 18;`` +2. **字符串 String(文本):**``let name = "Joy";`` +3. **布尔 Boolean(true / false):** ``let isLogin = false;`` +4. **空值 null(故意留空的盒子):**``let car = null;`` +5. **未定义 undefined(没放东西):**``let x;`` + +## 运算符 + +### 常见运算符:``+ - * / %`` + +例如: + +```js +let a = 10; +let b = 3; +console.log(a % b); // 取余:10 除以 3 余 1 +``` + +### 自增、自减 + +```js +n++; // 等于 n = n + 1; +n--; // 等于 n = n - 1; +``` + +### 复合赋值 + +```js +n += 1; // 等于 n = n + 1 +n -= 2; // 等于 n = n - 2 +n *= 3; // 等于 n = n * 3 +``` + +## 练习 + +### 练习一:珠穆朗玛峰 + +**页面预览:** + +**代码示例:** + +```JS +document.writeln("珠穆朗玛峰的高度是8848.86m"); +``` + +### 练习二:转义路径 + +**页面预览:** + +**代码示例:** + +```JS +document.writeln("E:\\JavaScript\\Code\\demo"); +``` + +### 练习三:俄罗斯国土面积 + +**页面预览:** + +**代码示例:** + +```JS +let mianJi = 17100000; +document.writeln("俄罗斯是世界上国土面积最大的国家,其面积为" + mianJi + "km2"); +``` + +### 练习四:个人信息 + +**页面预览:** + +**代码示例:** + +```JS +let name = "郭靖"; +let sex = "男"; +let old = 20; +let height = 1.77; +let wuGong = "九阳真经、降龙十八掌"; +document.writeln("个人信息
") +document.writeln("姓名:" + name + "
") +document.writeln("性别:" + sex + "
") +document.writeln("年龄:" + old + "
") +document.writeln("身高:" + height + "m
") +document.writeln("武功:" + wuGong + "
") +``` + +### 练习五:计算本息合计 + +**页面预览:** + +**代码示例:** + +```JS +let year = 3; +let liLv = 2.75; +let cunKuan = 10000; +document.writeln(`存款${year}年后的本息合计为${cunKuan + cunKuan * 2.75 * 3}`) +``` + +### 练习六:成绩 + +**页面预览:** + +**代码示例:** + +```JS +let score = 65; +console.log(score >= 60 ? "及格" : "不及格") +``` + +### 练习七:面积 + +**页面预览:** + +**代码示例:** + +```JS +console.log((30 + 50) * 30 / 2) +``` + +## 综合测试 + +**页面预览:** + +### 综测一:输出九阳神功心法 + +```JS +console.log("他强由他强,清风拂山冈\n他横任他横,明月照大江\n他自狠来他自恶,我自一口真气足\n ————《九阳神功》") +``` + +### 综测二:计算员工实际收入 + +```JS +let xing = 6500 +shoru = (xing - 500) - (xing - 500 - 5000) * 0.03 +document.write("

该员工的实际收入为" + shoru + "元") +``` + +### 综测三:判断2024年2月的天数 + +```JS +let year = 2024; +if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) { + document.write(`

${year} 的 2 月有 29 天

`); +} else { + document.write(`

${year} 的 2 月有 28 天

`); +} +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.13 - \346\265\201\347\250\213\346\216\247\345\210\266\350\257\255\345\217\245.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.13 - \346\265\201\347\250\213\346\216\247\345\210\266\350\257\255\345\217\245.md" new file mode 100644 index 0000000..0956a21 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.13 - \346\265\201\347\250\213\346\216\247\345\210\266\350\257\255\345\217\245.md" @@ -0,0 +1,151 @@ +# 2025.11.13_课堂笔记 - 流程控制语句 + +## 条件判断语句 (``if`` / ``else if`` / ``else``) + +**当程序需要“根据条件决定走哪条路”时,就会用到它们。** + +```JS +if (条件1) { + // 条件1为 true 时执行 +} else if (条件2) { + // 条件2为 true 时执行 +} else { + // 上面都不满足就执行这里 +} +``` + +```JS +let score = 85; + +if (score >= 90) { + console.log("优秀"); +} else if (score >= 60) { + console.log("及格"); +} else { + console.log("不及格"); +} +``` + +## switch 语句(大量多选一的情况) + +**当有多个相等值要比较时,switch 更清晰。** + +```JS +switch (变量) { + case 值1: + 执行代码; + break; + case 值2: + 执行代码; + break; + default: + 执行默认代码; +} +``` + +```JS +let day = 3; + +switch (day) { + case 1: + console.log("星期一"); + break; + case 2: + console.log("星期二"); + break; + case 3: + console.log("星期三"); + break; + default: + console.log("未知日期"); +} +``` + +## for 循环(重复执行固定次数) + +**最常见的循环结构,用于“执行某件事 N 次”。** + +```JS +for (初始化; 条件; 每次循环执行的操作) { + // 循环体 +} +``` + +```JS +for (let i = 1; i <= 5; i++) { + console.log(i); // 打印 1-5 +} +``` + +## while 循环(条件满足就一直执行) + +**只要条件成立,就一直执行下去,适合次数不确定的情况。** + +```JS +while (条件) { + // 循环体 +} +``` + +```JS +let i = 1; +while (i <= 5) { + console.log(i); + i++; + // 打印 1-5 +} +``` + +### 变体:do...while(至少执行一次) + +**与 while 的区别:先执行一次,再判断条件。** + +```JS +do { + // 先执行 +} while (条件); +``` + +```JS +let i = 1; + +do { + console.log(i); + i++; +} while (i <= 5); +// 不管怎样,至少输出一次。 +``` + +## break 和 continue + +### break:直接跳出整个循环 + +**例如找到了目标,就不想继续循环了:** + +```JS +for (let i = 1; i <= 10; i++) { + if (i === 5) break; // 输出到 4 就停 + console.log(i); +} +``` + +### continue:跳过当前这一圈,继续下一圈 + +```JS +for (let i = 1; i <= 5; i++) { + if (i === 3) continue; // 跳过 3 + console.log(i); +} +``` + +## 总结 + +| 语句 | 用途 | +| ---------- | ---------------- | +| if / else | 选择“哪条路” | +| switch | 处理多个相等情况 | +| for | 循环固定次数 | +| while | 条件驱动的循环 | +| do...while | 至少执行一次 | +| break | 结束循环 | +| continue | 跳过当前循环 | \ No newline at end of file -- Gitee From 6c55430ab77519947e5ad3890cbf3aa1dccb8dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= <1409177310@qq.com> Date: Tue, 18 Nov 2025 05:45:42 +0000 Subject: [PATCH 3/9] =?UTF-8?q?Revert=20"=E5=88=A0=E9=99=A4=E6=96=87?= =?UTF-8?q?=E4=BB=B6=20readme.md"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 9ad28fdb1799bcc6aef5c06726c1af978af7506a. --- readme.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..04e25fa --- /dev/null +++ b/readme.md @@ -0,0 +1,5 @@ +## 24级软件2班 JavaScript笔记 + +上课录屏地址:https://www.alipan.com/s/N1FfgZbvgrP + +"天行健,君子以自强不息。" —— 《周易》 \ No newline at end of file -- Gitee From 1cecf52738e0938fa54d50eb3edc64ddc6053558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= <1409177310@qq.com> Date: Sun, 23 Nov 2025 23:32:57 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...47\345\210\266\350\257\255\345\217\245.md" | 223 ++++++++++++++++++ .../2025.11.19 - \345\207\275\346\225\260.md" | 115 +++++++++ .../2025.11.20 - \345\207\275\346\225\260.md" | 216 +++++++++++++++++ .../2025.11.21 - \345\257\271\350\261\241.md" | 217 +++++++++++++++++ .../20251110-\346\225\210\346\236\2341.png" | Bin 0 -> 4674 bytes .../20251110-\346\225\210\346\236\2342.png" | Bin 0 -> 5914 bytes .../20251112-\346\225\210\346\236\2341.png" | Bin 0 -> 21390 bytes .../20251113-\346\225\210\346\236\2341.png" | Bin 0 -> 2493 bytes .../20251113-\346\225\210\346\236\2342.png" | Bin 0 -> 1543 bytes .../20251113-\346\225\210\346\236\2343.png" | Bin 0 -> 2140 bytes .../20251113-\346\225\210\346\236\2344.png" | Bin 0 -> 2028 bytes .../20251113-\346\225\210\346\236\2345.png" | Bin 0 -> 7990 bytes .../20251114-\346\225\210\346\236\2341.png" | Bin 0 -> 6590 bytes .../20251114-\346\225\210\346\236\2342.png" | Bin 0 -> 1562 bytes .../20251114-\346\225\210\346\236\2343.png" | Bin 0 -> 1055 bytes .../20251114-\346\225\210\346\236\2344.png" | Bin 0 -> 12934 bytes .../20251114-\346\225\210\346\236\2345.png" | Bin 0 -> 2086 bytes .../20251114-\346\225\210\346\236\2346.png" | Bin 0 -> 3547 bytes .../20251114-\346\225\210\346\236\2347.png" | Bin 0 -> 5978 bytes .../20251114-\346\225\210\346\236\2348.png" | Bin 0 -> 17127 bytes .../20251119-\346\225\210\346\236\2341.png" | Bin 0 -> 3075 bytes .../20251119-\346\225\210\346\236\2342.png" | Bin 0 -> 499 bytes .../20251119-\346\225\210\346\236\2343.png" | Bin 0 -> 732 bytes .../20251119-\346\225\210\346\236\2344.png" | Bin 0 -> 1116 bytes .../20251120-\346\225\210\346\236\2341.png" | Bin 0 -> 2783 bytes .../20251120-\346\225\210\346\236\2342.png" | Bin 0 -> 2982 bytes .../20251120-\346\225\210\346\236\2343.png" | Bin 0 -> 1164 bytes .../20251120-\346\225\210\346\236\2344.png" | Bin 0 -> 14888 bytes .../20251120-\346\225\210\346\236\2345.png" | Bin 0 -> 5770 bytes .../20251120-\346\225\210\346\236\2346.png" | Bin 0 -> 5847 bytes .../20251120-\346\225\210\346\236\2347.png" | Bin 0 -> 4101 bytes .../20251121-\346\225\210\346\236\2341.png" | Bin 0 -> 14360 bytes .../20251121-\346\225\210\346\236\2342.png" | Bin 0 -> 5688 bytes .../20251121-\346\225\210\346\236\2343.png" | Bin 0 -> 5561 bytes .../20251121-\346\225\210\346\236\2344.png" | Bin 0 -> 3273 bytes .../20251121-\346\225\210\346\236\2345.png" | Bin 0 -> 4506 bytes 36 files changed, 771 insertions(+) create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.14 - \346\265\201\347\250\213\346\216\247\345\210\266\350\257\255\345\217\245.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.19 - \345\207\275\346\225\260.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.20 - \345\207\275\346\225\260.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.21 - \345\257\271\350\261\241.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251110-\346\225\210\346\236\2341.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251110-\346\225\210\346\236\2342.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251112-\346\225\210\346\236\2341.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2341.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2342.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2343.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2344.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2345.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2341.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2342.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2343.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2344.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2345.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2346.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2347.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2348.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251119-\346\225\210\346\236\2341.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251119-\346\225\210\346\236\2342.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251119-\346\225\210\346\236\2343.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251119-\346\225\210\346\236\2344.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2341.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2342.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2343.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2344.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2345.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2346.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2347.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251121-\346\225\210\346\236\2341.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251121-\346\225\210\346\236\2342.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251121-\346\225\210\346\236\2343.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251121-\346\225\210\346\236\2344.png" create mode 100644 "\346\235\216\345\256\266\345\222\214/imgs/20251121-\346\225\210\346\236\2345.png" diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.14 - \346\265\201\347\250\213\346\216\247\345\210\266\350\257\255\345\217\245.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.14 - \346\265\201\347\250\213\346\216\247\345\210\266\350\257\255\345\217\245.md" new file mode 100644 index 0000000..6514aa1 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.14 - \346\265\201\347\250\213\346\216\247\345\210\266\350\257\255\345\217\245.md" @@ -0,0 +1,223 @@ +## 笔记 +无 + +## 代码 +![](./imgs/20251114-效果1.png) +``` + + + + + + + +``` +![](./imgs/20251114-效果2.png) +``` + + + + + + +``` +![](./imgs/20251114-效果3.png) +``` + + + + + + +``` +![](./imgs/20251114-效果4.png) +``` + let pay=3000; + let pay1=50; + let year=1; + let sum; + do{ + + + sum=pay+(year-1)*pay1; + document.write("第"+year+"年的实际工资为:"+sum+"元"+"
"); + year++; + + }while(year<=5); + + +``` +![](./imgs/20251114-效果5.png) +``` + + +``` +![](./imgs/20251114-效果6.png) +``` + + + + + + Document + + + + + + +``` +![](./imgs/20251114-效果7.pngg) +``` + + + + + Document + + + + + + +``` +![](./imgs/20251114-效果8.png) +``` + + + + + Document + + + + + + + + ``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.19 - \345\207\275\346\225\260.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.19 - \345\207\275\346\225\260.md" new file mode 100644 index 0000000..8e0f2a4 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.19 - \345\207\275\346\225\260.md" @@ -0,0 +1,115 @@ +## 笔记 + +- 1. 函数写法 + function square(number) { + + } + + +## 代码 + +1. + +![](./imgs/20251119-效果1.png) +``` + + + + + Document + + + + + + + + +``` + +2. +![](./imgs/20251119-效果2.png) +``` + + + + + Document + + + + + + + +``` +3. +![](./imgs/20251119-效果3.png) + +``` + + + + + + Document + + + + + + + +``` + +4. +![](./imgs/20251119-效果4.png) + +``` + + + + + + Document + + + + + + +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.20 - \345\207\275\346\225\260.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.20 - \345\207\275\346\225\260.md" new file mode 100644 index 0000000..8f884c2 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.20 - \345\207\275\346\225\260.md" @@ -0,0 +1,216 @@ +## 笔记 + - 1. 函数的嵌套调用 + - 2. 函数内部调用其他函数,按顺序执行 + + + ## 代码 + + 5. + + ![](./imgs/20251120-效果1.png) + ``` + + + + + Document + + + + + + + ``` + + 6. + ![](./imgs/20251110-效果2.png) + + ``` + + + + + Document + + + + + + + + ``` + + 7. + ![](./imgs/20251120-效果3.png) + ``` + + + + + Document + + + + + + + + ``` + + 8. + ![](./imgs/20251120-效果4.png) + + + ``` + + + + + Document + + + + + + + + ``` + + + 9. + ![](./imgs/20251120-效果5.png) + + ``` + + + + + Document + + + + + + + + ``` + 10. + + ![](./imgs/20251120-效果6.png) + + + ``` + + + + + Document + + + + + + + ``` + + 11. + ![](./imgs/20251120-效果7.png) + +``` + + + + + Document + + + + + + + + +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.21 - \345\257\271\350\261\241.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.21 - \345\257\271\350\261\241.md" new file mode 100644 index 0000000..e56a6a5 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.21 - \345\257\271\350\261\241.md" @@ -0,0 +1,217 @@ +## 笔记 + +- 1. 创建: new Date() (当前时间)、 new Date(年,月,日[,时,分,秒]) 、 new Date("日期串") +- 2. 方法: getFullYear() / getMonth()+1 等(获取时间); setXXX() (设置); toLocaleString() (本地格式) + + + +## 代码 + +1. +![](./imgs/20251121-效果1.png) + +``` + + + + + Document + + + +

日期小时差计算器

+

开始日期:2023年5月1日

+

结束日期:2023年6月1日

+

两个日期之间的间隔小时数为:

+ + + + + + ``` +2. + ![](./imgs/20251121-效果2.png) + + ``` + + + + + + + Document + + + + +

高考倒计时

+

+ + + + + + + + ``` +3. + ![](./imgs/20251121-效果3.png) + ``` + + + + + + Document + + + + +
+ + + + + + + ``` + + 4. + ![](./imgs/20251121-效果4.png) + ``` + + + + + + Document + + + + +
+ + + + + + + + + ``` +5. +![](./imgs/20251121-效果5.png) + +``` + + + + + Document + + + +
+ + + + + +``` diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251110-\346\225\210\346\236\2341.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251110-\346\225\210\346\236\2341.png" new file mode 100644 index 0000000000000000000000000000000000000000..37e2c3e2967c9a0b0b4d47d1e55649da3f69ef15 GIT binary patch literal 4674 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 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251110-\346\225\210\346\236\2342.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251110-\346\225\210\346\236\2342.png" new file mode 100644 index 0000000000000000000000000000000000000000..b287de4b746ce7ae832f73f9976f8449ca705919 GIT binary patch literal 5914 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 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251112-\346\225\210\346\236\2341.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251112-\346\225\210\346\236\2341.png" new file mode 100644 index 0000000000000000000000000000000000000000..f4b6125bad75a136d94f96005a141ef1565c494c GIT binary patch literal 21390 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 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2341.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2341.png" new file mode 100644 index 0000000000000000000000000000000000000000..d83dc74492dfa1e3ebd6fc8e6ca39c8a3f9a4933 GIT binary patch literal 2493 zcmchZ`#;l<9>+hEuS>`+B8DQDTy~^PQ*OBz^>sf>pPQ4dwZ}d0&y{^~i?AbqK$#^)V~_Nr#p}_NdbmsC2qQn3uDh#pPt1y3{UvdQ zd2xq+`%*%Hvbh$Q`m4Ef_N(S*FVA@{YO)+5EDVek@0FuKfU*z>&_HScK!Bt$kd~hg z07b?!0B}k~2(TKq0)P=EF#u3L@Sl7>M}iJ&babRBiHKJ~RCy?xtYGNHG+W2KCE z1nxYpymQ)KA}ywr7Gj-CI#aRR9=B4Or5dr8~z>j{dT#+lGT3nIiJ2cAFApCN zWy-{i6$%DACfcq=(PzE%jcS_6{B#J$9EvN8meT|n!`_DTMPV4xvRO*7Hb(1%A|aEt zO5yr%^p9G$h z^(@v0sDPQ2b7yqUg&CcC>Z~QHb0#G=92Dg8faBI^n)S<#K!eby5!ZV2imAr&&ABOiH_nklu$@NG>0xy!A1I3%%K zftC(iA{qv}*f=ktYpdTan@IIZ$gp(m%ti;R(LTmyz+x2c`?==V1^Ucb?_MmMki_&p ztRgr0whJG6CO3D)#OJ+rol{i*t`AtaCDmOgVLRL7u^N+&v>Nyxxv=?}SQk~K4rZ%E z8}DEiyr8j*F!S&8Cefv)G*ValZF z0tQvQvv#S6o$;|&-b@J_B<}hqqiQ{SDrIt9zBlWnVV@OBEy%qJu2!>G*Ygs?hKfU4H!On%E~< zbD=@fU-wD%*jLYnu7P%VwzU|d| zol8ohQhreOyombji6rI(UP*5IYu>f(rV85a$D2k+EtU=;eu~m9pTrgd(Ko<@@!6h% zd1hkm*oR;hZR7*Zf%^uVr#NjmueJ-E7Z}gi17n&m=KUJG>R~-|c2WsjufKQ?FNmc@ zc!vRTfgrm+hNIA&O#ME%qV!ZRd7>o#eJl=S$}_hs}oW-@{cFH zJgcz;MnzP!#@u!{)9!QL5W-S#>`_uC!_BkzHA-9U(K~uc#SR5EcN7v2Ppnm&#WNy3 zE%bLW8f_5OebGV3UzxY5i1p+=c#a-L zIZ33B&A8@SCBva##HO&C$=2xVb-5z{k;kY`605co{;(jLHL!!6ic@G|6Gq|dVh0ob z@Hx)>7TAOYadZ@q_pv=M9Ye1l65+KD4vo)i=MyJ5vT0vT-xP>EyO?1mY_^3!7SwTv z@4sXCxv*uvu<&MG~$GDz$w`054qHos0Wcs$kK{oeR@4Sa*Q4h@+ z(RBLaTKWsb=;z?;eH*Sg*iptZ*|}J*Gu~J>*%aag?WfjnZ~`_Q!GY1=7mv{Bxbxd| zW_AT-i8)4|X6#iqBB7S47HlHfZjsT`L4Ko0-6g(sQi8YsedElbQ8<4lJC9RlOTMz) z8;mLfHjyF_o@m_H5WZDH(_V#iD4KH-5uV@vb5}knzKE3AyNv+1Rn9N{d3sXY(0xV5 zXW_a0xsQ)-zy8PY&d3TGO<$iBE-0sVv2U{Y1F~973K^CU6B=p3Hk2jPYz{|c8{$Y& z3srG^#c66G!ICKJ5R!f|`U#t6)Rgnm1=*EUm{&X&bt|L&LKwvU>(vLWxdSbQ8)7lP zcrAkVr3_P*V+S^FJE?-!x2lU^VdZIEnH%Bt)=ld#tG_jvkZudOSTx>hCQHKT@p|ps zFrq#C!)d6Ny_mL+=S=7E#NPZIPUMHHHi1|_gKlTt=2~eQZ?mOtchE}}*|$xmgFCK} zCYzMKgWckQuFHMk@d4vf#a7Yok}8c)UYI?W{0?%66$W}#+Y_v8w{G$GNiW#-FDVB? z?+it9$F46@=)v(*iv)mwHl~lmBvD4HpR(PHWmChKJ@i$)@Xr~`*4VcLdupm_`P(aC o0QhA7-vQ!(qKyB;h-R~?PAHww*uh?a>?0T8WanzzYU7*nFZRl)tN;K2 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2342.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2342.png" new file mode 100644 index 0000000000000000000000000000000000000000..90e7bac13276101c43f2edc4c3779283412e23d2 GIT binary patch literal 1543 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 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2344.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2344.png" new file mode 100644 index 0000000000000000000000000000000000000000..3361023bca570c59d27644e6f9f55f7fd805222c GIT binary patch literal 2028 zcmbu=`#%$k8wc=_OIwW0ZEl?|?i=MEx$IJy(PCtxD2h?zn9GP*XG=-3ETdsLL>F@} z=2jeM7?HV^%XH+@1-VP;>-+)VpUw~O=kxl!p4aR7^|_66bCd^gw|0TvJl>`C+ z(#g(f1U~ls9NYHy7HfIF<-!qMwn@-Ee;&DjoUOpqIGC&Nv1C2l_wjJyb!~h&WE|t8 z{{CSgRN!V()eLo2;9scR`QVpeHzx1Ta@s=KLv=tfJspF8$s&}>goZUb};+iH2s9JmBYM71njer@G1Xw?1&vLP3SgCfd0|THDEtbE{ zqpc<<=1ai)g1%-;d;b#=uU*>`{g`GcVt-bJQ2lVuV3n|~4k?bCO8c3kB?iL{BbW)9 zo*r>Q@SOZ;?$;q*Hbe|LMiRfHiIH~D=-wKgNGUTs{^IK(?p)zC(+Mo#kzQoC zf8*RnHGzIWq+QDpAFn86yplOT+rAMPjuxBq*nHr$j(2{W|9#+@1kx{Z#T-`U)waLTBC)2)0rwt-sN6+#2dkgiO2v$|AK=^Reka<_`QAEIK6%LW2*or++ zbu>PqHTX-?VAu3|b(DCBg%?c-RAnokbSAYp~E5&ZAltc*8xzn4b=Wr5#e3Ujn&t=CnQ<7F=bv_t>ib< ziv=zJ$3+!<1yy&3p`WI;J+n&0YNm4NJ>0F-SsG^zWa2rc|1zy3m5B7eKhr0HjAWaT zG1Ue!b;=PFhelpd84uiG$434=HdV8TUI)>hzLp#BH|3Ql|x?AALPVu%N9SCS(C>BBnXGj z45FGZ-V7~$wjG-<-FHO!4$Of$r?#nnds*g-@_ zEVimlYhD>^k2o1kDN_Gl`xMu2Q)`zQcdvFT^K9}=^qnn70~|-NoO!ZHENh}sX#rf< z0EOjE^_YfD2S&fMJ6mN6Pv!_^@0Kg|1ow)AREU@4WcmfT;{pk`eY5yd7C_ktE|cy| zF%l@4!#)$EL!E`R9j0@Ur;K)%^XIO2Itr{sVg`w4X(GySgJ9R05wy5*pqAWFc{aN< z$kS-0j}qW!$rR?4J_`M-*eCNbej_G0N`3aVMyU6G4^{emid#{N$%Psz@f&IvrNZ=h-F>txQXacD#5l`5z|9e_R^4Z1Lt`HXw# zSp9*%#-F+KBVd9XE)}A9TyoW{ z$unC*rr!f)t=y@I5(4SEl{F6&euUbs>Da2~PX|3gZ05C% z&;d!~#X^mSResJv<+}M(A=9^*B50=I)?vRrH_c#>bl=9BU}pcX?mVxkuGlAbx}0^J zi>K@6ZP(TT()U5+-mbFzpR+Xih`fbjmpuXLw4BG1jzKYG%$i(h$UWJ?2JLpZ(zcy< z4ENf{N7y>k*|fe2Xx7@_n{$e4rkJcvG0VgKc!~g&Q literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2345.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251113-\346\225\210\346\236\2345.png" new file mode 100644 index 0000000000000000000000000000000000000000..b5ff5b6178fbbc3ba2c2194d1f937a50fe8d4550 GIT binary patch literal 7990 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 AEC2ui literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2341.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2341.png" new file mode 100644 index 0000000000000000000000000000000000000000..0a0bc3bedf1ebcc441a0772bfaa62d9ad121be36 GIT binary patch literal 6590 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 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2342.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2342.png" new file mode 100644 index 0000000000000000000000000000000000000000..137678b54f09a5dd380f2f9d2112364ce44a1458 GIT binary patch literal 1562 zcmV+#2IcvQP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1+Pg&K~#8N?VP=G z;xG`$*Cd%_lF2(jWtS=Q2+*Z7CFPZ*yGOVV%9JUgONSpJWlB@QTVz5$e5(&Y7|BSE z;Lv4%GkXLBwzU5H@0H}a==Jrr0OafI3qC$RV6j-h#l;0&US2|@(O@4D#L>b9%*4xt z%U-XpuHgLqTz*Ut$4!HY_Wk`GilTt)>uVA(5fqKj&rf)Jd*da;>FKH5Ob}tvV0ABZ z-m|kah@wbtCWtWL4$Q<$12!T=8Yd?w@=t;Y4=!MGUm{c*Y}SDUOoR%R5Jb?B^%6nT zU<()o5h~=sM9_E?a0cBdf^H_?5>8~@2%@NqStMNWC*bT6#`rSs4`D90IPq^z;2eet zJFXhrZI};}(swK(amz!ym*T%;cyvyHFpgwcC+p$kPr&UF%my*Q^Z}lnbD6;-Q-9in zw%AY;ogk|MkCqkuL8f*5fkfN>6eb(rGsO&88k}kO@CY>wV4lMZzT6~D@m?Yf!6pKC z{l#K|dADI!;E7=)zVAgmz&(|ir26mL#K!()8+FH6F)2_eMLaNnqYPe{`eRpxp$)b6 z#Un1XP3E~Xd}d^QE?x3)jJP{+I?=d}O_-bsU9&&N^F7o2#v<}QYHvM!Zc{9vWFnMTs{AtbW@>7)o=yd3)yLW6Sa$Aqj= zOM=SVxww__+gObvn(52%Z=lvrhu2pFeOW% z)_c0I@y{#8=88W7*RNGIp|ru7fMR5xH)!^A ztl=hNblt&Qn>w|Gx3l&=z#uzR4eN$zd#M(!8(Vd{ry4kahAG5wo5=S+5o-swE(`SF zIavLknE-R5l@tl1>s2;18NMb2w(+&Q4b`A~(U?tlQTrEM^X{-FT8We#e`l*^a^zzcFGv zAe7Nz!>%%OczVFw;7zhR7xSkFbmSCzqtQltM94nsW|0mylj9$20XLg%=;sBBPOSWB z6I~Uod}w20|9P@%u3Sy;p;hV=*Og|wm>H;|R6@)KSO`>HXu6Ab{sc_FX>VD=NkPZA z@RKTv8q;WP80nI{yuvk(#N&X%jrUO$dUfCu%{%yoKN*|Wk=cb`4B@$@TzJhsD3vp4qT=Q{R~}r+|fP^ zC6Y*;i)t>pq-@30FNDj54v(N8!OiI@_Vdw zVg341Po{lqC2j+oMFbzHQ)Q;Vb;!?^=_oO!#kT1eT6TdB?A%{*%<5@0zF(^qGfmFr z)Zuo2cI78b90V*@d6p-}-oCIn z%QhJWC(nma~60+7BevL9R^{>@~s6DZBnKUPx#^a0atFj*#ui7OL;(aUTp8tjjf3}u?x9VDZI8Js> zn8R^WR^s8`9afP&M~}Y!R&8;|QSe^;+`jeY$vV%E&z67t{9BTaSnv_|81-=Wy~g_& z{p?87H-G+l;<J;DXPtj6ysJEi`OlxyJ9F>%WSYp7$J_UBpVqQnyxVYlRo!N}`+nQ)Tg=~xJp6n0 zWP}f6U*(tCtF8W;g-t(QSi7x4^wHZLGp=Q)UqAgajB(R!S*1Pl|Nqo}H~3rk|I_^= zzh0jH-mY2BS9nj=zGat%^!3xHH%8UVpU-QZKl@s~`%JeZd(9N}-`RhfRcE+u{i*kF z9&juV{NT!?|7ez2Gkf)|+WG#!Q~t5+cHglpMqgfe_WJE^d#}4&RI}~utlSx=cl_6k zX+LZK7e7c_xt%kpUH*Qd z^yKToUkoqi#J@h8_Bb(XyV;)?ecd0nF4y?Z^Za9_eMGulP6JQ7{H@<^6&>?gc5I9d z|E2Tu@GbpA;+Nk)zV)`ifA&0Cw_Rr^UikR_#`jdoBP9!|x6hCsi47K*_7q-94s*>>DQl;8Dk~2TG59 zz9|5}K`tjLrtW62lisYe0wM^kUWlR7P*rt&ASXlIUzXV>*gEG$PyVKZ$r)a$+of!&HML%HXwfmEYx_*}Ew;EMJ1@Hzmn=#Gy!nhu%y z9@V8;VsR2j)YFPUisltlj0cMda8J}Jjw1-IOK|u|5mwvA`aP9X1(%f1(P@!&3x!?g zFN0w_v~h_RPqt`)&NxcP++Ds?l5>jZS^&VA)_1IEop;0#6;&?QnhV17q}OqYN-f&G zCpIyl-CiL!40l$tr~9`vNr&||o4k`NwTU%!K6i)}RG!0s#RI#(x^t-K~f#GHtDmj^FGWSWhk z!>GJ9^c|k9sjsuwrF}LuIwU1?CVFr?t!H>p1G|!!l|SFFeLQMPKG|*ltWjk?gp7 z_6EBAOiJa$lqT!$6a@?D(62lx^oRA0>!k)-0H07;(nI675djt;G?NwVR~?VlW&Nlh zqy^POJ%IlFUQ9sl)}D`ok25m8vS|j^tG^}TtF=`M@{55XMl%tJklEf38V4@?Kfb+Q z7zf!~3fMg9T72Vgp4xEuAp57e@s(HqwK$?NK@<`Yw!mEd!tnD;0DzUum?@Nm)F+^r zi(;nC_NT(!bJ&R+q|@^iP{HsuJ}RZfnBSFj7gy)EjKsX7VGRmWHJJ*Y_xF|}!?NQf za$kC$O&g!2ySW^vX9ZtRc;+QhYe6BIpLQ>^*lTZF#10!#0Ew`Q6xSO1_xkWcTOfTz zqIKod$y?%4y}|X9)9mr`o`e)uTvN)4X06~y9i_7R#V~}`cOuH>Y2<6q7LR=X1R=dH zcg{h>b&spd!u(Z)2$NgR4d*CW^YKgx@Fe*vK)2WfY$Sk{fkBgEod3y@2E;FHuG3DHtJ~zR-CgJ%yW!$nEq0-+>_iNfK zSmne>d#)SnYvv>4@Z;;}Yn-$TD;(tWJWSZtZ2B*CnhS9B?LP@VHllvNzzLaUJ|rA7 z7dC=FH^C|4&UL(Yx(;T(6sN?ltif~)ufpC*jY50r@X2qDpp9ba?IL~Q!c z5*Hqy8>1$Imb%whskfA@uvgQ!K06&h2Y3lAFx?vo#$KLpjq4*gBeeT4QnCR|hmhaD zFt9ax^ewqAuiAETZ>$vm;XH;-I6t`~8KE|3D*RnZ*J0+T$~^+qj$jBCRkh`g#%l>( zK9wCif~_@$v5sf@@u<2fOAhOLW|Ro?dG`r3YyCm_G=|hZ%U8n8fW=0tP%DrAV9=8i zd~*VCw|91+u)SXDG#CY&t}!n}?+wtsf1g!`mcx^UFasCiGJD(V zfJ>A4;N1SgQRDzX$K%f9{F{{T(j(5x;5;x~if?c&+=KvMX6JB3l-fHb$*5z?-C!bE z8tU@A+)we1TP0~ZT;+$Z%~#u1tUWZ#aTBihB7FgQZu(rTD|l+UmIsJ&qV@Kwik*d^ zH8t*pJrErCGP=_Lgma8;=m^wQlr}1bJ`fE61P&9a5z{M|ecTK{j!nbiH`L~EX;dCM z>sauB{_0!kW-Mq!N^a!9Em*SlfmDZI-@FdNqa&Htu0sgv_Px&>xUo$J`fuZik=w5P zP{_i7O_}!w)f(5CtqJKt)3%tp%(~UIlvzsE*`Z%fVRHwX912T(T#z6qAf^sc#Rq5& zuSq&oD2&k7MO7Vbav`(UyOxqEkdoHNik2r^9f_7LA+mPtm&=NtlOZyk zeXG`e)IAqhu;sRG!pnM9cw?ZTFc&(y^t8aEMGKL$<=*)H38eZSNbIh+$dzwQEdF&5XAtyR$B2xG|%XzT=2)+)U;EsBdrj zzS~1Wmm4S%rZfV1NPx@gmBp^5W5V3hWLUGk?8P@umxXu&hEQYIdjPzUGFk)Yx zP0|o(n;^6Q)0Em85{KlsvgZzH4kSo^>5GkVAKdQA(cY%I@WIu4?2W!v=OaqP?#2vD(`re1Eyu0F=Boi_LD=XUCYjYA#iIFg{D)$O*0@;z z;}bctn?iv_G5Ie7VT+ERynOpCEWZaR$LSfqr&Tylj!rsUvZsdi@qB9Mr@x4F-pfTV zY(Fo!T=cj`1$NrvM}%Nvo!P;=qE%uj*muR|V^sD#@VkPL)r<~LUjBDiAUi|hcSis+f{kZ4!it>)H6!~8 z-W~Uxox>h|hCkO!S3OK+@!SIdO2yRV(JIQj+c}|r74Olds)jRW`i~xjT&JJwH6?XD z6-h`+SukmT7ObQ!qJsDHXd0dKIn2+()zRx{lTL^Sf!>4 zwhF2~7*)lI!g5OK{3wlsZ#euUXJ88e7*e_{0WQtSwU8-ewe1ud!PTDK}~HTZ%E7z==y|!J0hyufr%-1^< zTRcM3kBaG+4_9JR<~K4hkS)BF#~-&O=3Z2gE7)%iQ462I78-1&@?@t{P({5vOMueq zC6i>iN>Vvy9B#TxQ=f9FGFGf%Rh~4@)rN$ho$mddh6pOYQvL~<8G2jL-40AYjA)ZD zVcfGp!g!pU-|UL|1ax}BH{O@^swt8p3891~?1xp2ltrIu zsOQ{gGTg9+GY*O%XH^T$r>Nb=TN>-h(xhP9FF8D!lwa7*j3o8E*D=wJ?J^f*cO4q$ zuOU?LQjz3b^{qb~n(M|2GghFG`@nh)es1Fns?z`_&lZxl=k^T;{NSDoHM0BQb;#yZ zPfVYTAq^U;O_eJ0O>cj-{dc ze&Mmfrc;X5&60y>mF&yYJW6=)`_)IVx#3t$S{)#%hfkp_n0^019($W zE}teeSEJ8Lx9l7EXbMRaoW|+7g-%M1a`;KuW_1;5>84?gcGq}Qeo`7&Z#e>q9M5{7 zKtd-l3vDj@e`!iAN{{=#x$K?eEW--02=cYskJ};EJL?u7iBwN#8Eqi@uLhtI58la+ z(H$i<_I7|qpM$@L#pbRYJPuLQfMb6#`cgabvEypkzM{zhy-~Daz@M&6OKWOXO6XEQ zGH)JvoJTO0nwWScb;xcg9>pW zVIZhr7IOtb5;9A7w+8LF3gHSPPvDhKjZrg{_s`vl6Zu&W^ML| zBTaD86VQu6ebF%kQoS;CuP0>MN&z;@YIOx|+Nibr2wiy$z`p%3(Wter9H$1{g=?9s zOmU}RelE^SSZ;a5LC|#hAH>RwDY$~*sh3_K0E-MG+Jy4g+=6?|ad>_hRztY(f# z0jM#(eC3Vyx4MRcm&`A-F$zXSZpnD(qvX)-Dyog`v@k4ot3AAzOGr%1`$TtP_7jgk zG{jB3p+dYPB*={1gr1gQ5G5j6dj4iRPj^5E=}qFn7(9wa|80U>qC2`s&+Z*S3vK+47J#U>|zJ?PugP% znjguCyFSyJNpTiZ!;hVpP}PzSJH>HybKILE1)gtF!%9Go{hZN$?+dUsSL;MI@*+HBIt_9!^?oShzE+*% zDx+j{)tajljS5>ctK%o5nqX9WMWSpN@0*Oc6HT=# z8@`xL{9Xt4Xogt^+NUf?Ti4Um-MzEh$6cc)m*e|hn1B~6Q8z)@Pw%`0K##2e{EAcn z#y|b^Sncj6^Kmfa-J$%T^H<4wf%*r#@Sms=I}1}hga>}VJe5H4j_1X6n zIL>fTIMsv>?S}yX`-8#3n~KSas&x0FwaTo&Jy;bYw9zvuW8T8-v5P>@*b{&TL^NMG zb@~`0&FAq6L+?UW`hh>%pOuQlfD|2Yh5^hX7tdw)H5fs$T@4myV zDKKO3anur)rL$xS3$JopW{9(n!5Yu1!l%Cyu9k5agM#HWE%5Y)M%dWTv1b$?aQ7jf z@Q%c1U}EA@-Vhn5yjw|<4O~uoJUWI9_#iijvA)Fs@M)=nfuo9&bts6ek$hj+ScF-| zi-Ab6dQq|$8IBWv02G_2lJHI)tOlpfg)H%N{<{j-;=OG0y&8EeB1*Ch5IbS@3X?20NnzT-jaII4pUEc1RO;Mca z*VM4}4U9orHGjH%?woHj*^$=2#WBK?5?HHFbywPx7DB(C6%JiIoq9>+VSw$vmt=i- znYtC_Ovz1w_f*STvl&`4go{~x{*IH)d+sSt^DjQFou7ct){8!Q1X-NQe zdv~7JBXBxbKbh8$k7CrbsfT2A#WKvErGZSZt(+Cw`7iJR zBI%aj11od7*vrdlIfC796(dxrg9*lW zc`Cxn=n+eiFJJkw4m#91m43mkc8bwwq~&g2GIS#OXO0~dN>zr4fOvSJ0rIx$w#IC) z4cG5Ey$W(j(Q)tg7y$kXS_E3e7~#^U7j^Rg60~qQ3R%j7=pKgI<%CIPJTxbARQoW4 z7@rxViNi3fI<_^L-fmh>_{A|VZ!_GzCa@#ahW;*SWx`j`|6(vc=M-K^EIdP-Be#?X zGMIlLOc`4BjoeOY!w;uy4~#Rn{1z?!%f30MQAW-kfqZ6qiRZDt7xq}bvPZFQQ)_ye z^64PBfVIj^->7&z!pdZ(757`7uiE)t!}=9RsUnU*xO+_N&M_#QbO4{XRb68NnA^=i zhJWJ=2vM}r_xn+a=Zh1PlDk(Q1{&bhkHu(yAtykA8?!-_WvR`6m(beZ-fYxr8?gE7 zXR7}!iJ2^7es`D+y?)uFwwDUtK^nSJ7B28~Bpsp&Z$Hcd7&xd`yVg-L`UE&0I#{4n z;s2Ajs_|^XM6FY56~W!rLM3Z#0L&&Zgvf}@_spZpXzXC6XtMM;`mwTWlVO>T zJ5f<@uC1|m#aMeJKs+|(47IOHC?Y!Pa;PJADP(InGmfDCM&-lgwQCQ6&&eu&5>Y0Ky6*o&3bGC25gWBQ=B5g4IMBhdt}p(emTp7p%Kp=9r7r+xw9r z_S8Z{_1TTKHxr82W0>%b?}!Fyu+9HS+Iu4#E}@&k!TA@gM%NV zJb1)+Qo%qzc|^s2b*uNhauU0YIK*I#*->?s?7qVq54bEF7o73gK_%|X^!Mdot|E~B zovfM>wVb%SO#{DTRg>3$8>v z83{x`uX^QNAP)4B?8%a$Zz zuc+|md z)n9-mt1hqq{oL&Zh+KTnac>MYF=&Qw1oIsw>Ejlqpc{hH&H4UOQZGCJpoJ6*@kcUjlY&bINzH}3|D#Pa(b2flrDv| z!1x|_FyGBOZ>i{=C4vd*zrPm9jCcyX>wqtKHG1pSJ3k3$oir@UiibQ9hJl2PyF%X; z=skt8vMs#*m~&y@h?rFJsxZzvJB*v9KWT75g$bX>ZOtV#x4^C=_a1l2SSAj%;7zE7 zN!N8zb+zOmc@G2-<1fX;O_>0Jw7~^9q?UFptc4>uc6N5|667l}j~PQQ0;9+SXjJkK zX~Pm;yVQ)XYq&&neDqX}ZtV{~pn_SrocMfubAd*m@pc9?i@v^PSvuvAlX_{XV?kU# z&h{xmANz!@xV+kZjU|KE{}xsD2$6q6RqAO&{vgO3;_Pa_(3NDG2OVHu*xnjwmo%2= z;XM!@HL^bVxBs|R zo;D6=jTkP*x%)FbLhI(B>%90pNx&h1sq$kEE;p;GVB+~wK3T3V$No(uZR=Uu_r197 z>nr5lBqZoN8e4`iEv#5a^447wZs;40u;{u{R1_-zqOlBZyj-h*$0IAP7=MUONDl^> zcnNHAZVu;6d;hpGl*qQ1b^vO7Ox_;cHuixn^4$%Ki443w_#m?fneTGuGhqM^T+3YD zw=lzw`W$#-nbdmI%!y4Za7|rlrQWLIBpxcn0924p@-P?bcnDK@21>{aOKH)ZtjcGW ziC!4mR0v8GVN+T+nc^xd$k9$!AIVbRbV!!+Rqx*o~+@<8935c^0E&TftYVXQa^yH>H`VN=YQT??LBBGwLD87f( zt$V!(qJ(wW07bVw7%tLBR?P$*z{H~%doCTc**X;ucn~6-={>rYx+Xsr*n4%(>HC9>_FnBo=vD`HxQ69ytkM~@WTS4 zGr+0rbOghh`=f@@hK0-4X7@NFY_T`ot9`9NI$NYQP%Xnfyhop~sit-vgR0~_$M z$`g`aiPA4$DPmu+G(@~4@?>guc#-m@ORQ`jMwASCk@MM}eAIlMu#C-h|*Ve8Ca^~l8IBY4mIfB zqsxFRj%nk5UaLCMcGwt~eR?37miMrVb&Lu^I|03(i%zvDAZ4~3xm3W#t3dzq(2{OF zri<8hD*mA9{i!KJfZ}pW0jssJRZC5+cG;Pa-U$6VzTfJUed}TKyh9eOshF{NUj<$e zZ=YM-LNWFq$Akrt(wvau7q*JXXT%OniX0Zk%3$d?wMo*9z*Vr{Mw}Ln|c5hKT}Fho#hR0^NVv5Y8zZ$ zKtw0)c&`VNCQ;MgZbd>5*pZLrH-AqATUzQ}9pj62a}6}Hu( zbBa?3EX8AWH{g>Z@*KOsCTTfbp~E+ ztxJy3aCkvqM$KYdJj3-spQ3_I)L3A=Q_X||X5+e7pH|@B90;r4dd&Qhc+4Tn#=HXft&7%ER?gMXcT*~(^4Fb ziHBj`)I)j?I5%-fh#%OSA5PMy88Jttjl5C#SX(5%Ar*sutLaI6NdhRT^`nK3*btY%oq`FHfxDy40(PLYE=Xhf2wz9u=grkPJylT z0|p%-@`<8>{=T3kVbUd|0{h0G1C#Urr&X(QR*<`GZHXt+`QD5S`p3P|tlN(^4Yh~P zfrh96AA4y@dDnhvqA(1qGK29C-TQVEb@c7~NZ)_V3%d=j{{Wah=EMK1dEvQ=o$=C= zGa~fHDaDfisoV>^ww`zf=0a7!oo|yLJF3>!1j8NFZ*8@%FZ$Rt3rmk;pGx%@)JA?C zWAJutZu~MiS+#KREc@)iPV6>$`*}!<^mE&Qqt_>i(!tW{%PwO@`hLzS?l?XRAylvv zY2IHW!@l68)S3D3-2i$VnG5u&xv&3z)9Tqi6)Z;p>p#s4iSFiw7|^>>;TG0TYy_SPB)UN2~p z&iz>7(|F@M*(9Dx_7goBeaz-<03DLi0-MS|>zeMw{3u9)mu|;#foZ5a;Ke=n3pF8F zx~N)g1`DqYJ8-!4ZuC7R(IKTx>pScKA9=DO@L*W*WTmxkxZKL;X_g-3Z5Nl8)6u={ z_W!U=rO^tw`j-LWk+{XR@lWY%3)oRHRn0Hqupy3^EeWpit*__CMB=@~>IDC?OI5nS z()wSu35+LznKNzHR6e(85bw=dqS?6j=K__SXTpWD`zT($@K{8wQme+var0)ao$fFr zehod!cgpuR;dmNb)##gQ!&$iB{JGHZ&!gKJwMSRG4;;58yU%e%TSv~T@PM@+aut8 z5)&CCB)x)@uh%zT1FoD)Nl^Mii|kEhOdp@#q{~CU<~dZx*-1rhj?IvKKefK^q&?Ir zRAPJIJMTk+^1iUP$-s|j!LnS8%4(u-{yIY~N{_K=5m`R!+0|NeiYdQR6hGPL-YBG^`W7+*O{&3i8nLf5_=ccv6`cKKr{$>HV%!PYJO(FF29K%mJWPCai7hkoN4E4ddaw zckH3k&wl1^Gy2`N<-Br(S`|k4e?KvIx&32{Pk>2<$d8`Zq1oww5q~eb7 z!H@P!9Tka5*(L4)NThY;^^-)K@nOUhYBnMwVZ%;3TloJqD7>Y0jR^wlNgsaqklxPI z{x|zq#li95=qr!+huMWaVPt>VzFNuI5`|CgbM}4|6j;OZn0g|O(o~aaz2_jN3i#!y zA#72)QUTUSU)ge4VIFbTv=c#ZaRoa*iNANN z&pZFpt%wqF)@9d@npG+F7iI!VzZX6EF7dMHO|IF;szwDF5Cqh8W1ASb5rY|$`#Tepi}w3 zmauS&Zgw(1tx!{>a!D8I)}xRpTl$M+H8jxCTXeq`BP%?clAH0oNw{@tp3;sF$MH{3H}+45 zdM4NgDmY)+r1gBpI)!jYW-tYz0dn2rwx2EO7zD7Y2j}hf(<@wZab}Hex@Jos4b9q| z-*oB%dyV3JXB8HTskb4t-!@cYXiL^1N=N4D(7)HKHVqMG!|y+TQ|qn49A{r-a!SMX z&OlJxExEyCUhofYsUOvBOK`$ulwhKH{nhyc1kc?s+rV%BXs-d-KG@!b_#dhIAIg}8 zNa^Fzj@9+P6k`gW6^Cy2(NH}Hu7w1URV6hgarDKw777rS(XPV{IGYUUASz|Oaxpg8 zU;nXuB_8}}Ea2Dbl@bX`f!(M;$O3u1;HPQtnHGjvg^>%WBxy&mI=)BqzTlb{2B24r zaI{Vo)tHGiE?0vOhu&MLvnoMGakH4deMSSF*-fxn}LE1JSs2K8dwX|uY>jxNj1N|3UX44 KlBMECe*X)O%ATbF literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2345.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2345.png" new file mode 100644 index 0000000000000000000000000000000000000000..9e04856b9eef36b6f07bd0bf6bc01d947d003927 GIT binary patch literal 2086 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 CedHzp literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2347.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251114-\346\225\210\346\236\2347.png" new file mode 100644 index 0000000000000000000000000000000000000000..edb93c8500bbf1df8194471a0f0925b29693b457 GIT binary patch literal 5978 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 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251119-\346\225\210\346\236\2343.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251119-\346\225\210\346\236\2343.png" new file mode 100644 index 0000000000000000000000000000000000000000..ea7b6632168d359a2faff06a85b576fa535bae88 GIT binary patch literal 732 zcmeAS@N?(olHy`uVBq!ia0vp^Zb0nJ!3HE19~YYgDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoCO|{#S9F5he4R}c>anM1_q`=PZ!6KinzBkttUM)5NNw?!^PFr!~DiY zz;B1Uf%=BSwoJv{CkredwoJ%v>)+tskgZ_0MpPwcZ@wPbTr#G$g?OV6e) z{S}-3>Zfx=)Rfy&3w$H>rf0nj(Go2_s%w;VY1g5dpH3Y8DkEt)M^{GY z=v1fK#}A&Vlq@{U53Y9gY;xkszq_i8{qgDPPkJ@O&gd*!cXL%@p0?i=Kf!QUZ&X158iz@O#V&`o1`*>A(H?#h@Ap|SsyR@wU?8P S-w2o@89ZJ6T-G@yGywpmpgE8L literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251119-\346\225\210\346\236\2344.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251119-\346\225\210\346\236\2344.png" new file mode 100644 index 0000000000000000000000000000000000000000..96002dd67e6a338e638d5f3613a62240e429aec3 GIT binary patch literal 1116 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 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2342.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2342.png" new file mode 100644 index 0000000000000000000000000000000000000000..4dcdec56eadcfe53b884d6e7e79132545ea48642 GIT binary patch literal 2982 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 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2343.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2343.png" new file mode 100644 index 0000000000000000000000000000000000000000..1c4cc216f6bfb358cd13511f7b6b7c27659d76a2 GIT binary patch literal 1164 zcmeAS@N?(olHy`uVBq!ia0vp^(Lk)r!3HD``ii>(DaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoCO|{#S9F5he4R}c>anMpc+L_7srr_xVN)xr_DAHINm;oC45E6OXVAP z%XZu`T6*^<$IAsiGcUc{ChT6YQ+3@3-xDvmSv;I>#Hs3Ed~d7Erkwd@{zQ{cx0kpo z2({#YlHzm_u~rCt)8Mj^S?DOA2X@Y%OU6*Yj5F&~phl zwta3nUCk+TvkrL$`aTwGp2l|SdqwQ6o+EN+S?)g)sy?>Rd#;^eG*`}+>=>OgtvRPV zUd-q;dmbp+IB)K+$AUNGb+`42)MfSYESgzpy?Nr70Oqs#1$Sf_yV$adjPessa;-~c z*5H}MY@1*CcR%CC&iIAXzRTSs}6fhK};VCrr%Dt#(ToZX3_$JXUmXS;2~r z#;i9C*)wk2`tMZZ`=qIDac@K8>2>vHe#&`DyCtp_FHgU!FLOotN_fIEn=aR!iO1gR zNwSq_w|sN8T5?mys_+Jnq;+~s!7k(VOn&8$zsE|RpXDjrRlHhVHT%zR&aIc^7DurJ zuzI&$oqVwEL_fD-$Jv%+9Z|t1d)l`5KMg$Dv|czuxZQn+_QAJB-xU32-A=GQ-Fa~8 zdS#1k%-yeK)}Nj#W}L)(B*=93$0o;|oiaR19M>N@eu?l3esDl$&(wgLO{xdW4juXX z(Bw~>ZmM>S_ow$u`u)zyzVhF*hBInS;d;Zqo5?>-R5kdInT73}9=%WJ=@*{U<)Sy^ z|Jkk8{ypdL&b0lrOzsxBU;5MZdRJ=mp|6oF`z@q4Yxd8!nZqA_AUE+)j7ee!^L^!h z?RO^I{{MJ)|CPwuw=4Y)1-?Ih_e!JS%Of+ndN(d}3$ECGt6R%;@gDm>XHLIhSepF0 z`}xnqRY^RTMJ9Y-X?kI=y7&B7r$nwybE=XnvpM>X_k*TglJ=Ant<(5Fr|T`0jJc92 z;M44E?ZM0Qy13%v{8*if&zSq?oQ<9SpAMO+K zp1Q9~DC&m2h)<2Vc<(8`=QCuMXU~n?$XZ)6qvthS_UtsCm$kR6lQ*(XtK;=P%JMW| zt#9J;o?kaJ-uNFaR^q!=`apBr0gJg$7Q_e|S@T{!u;$z=_Itk7)0x(phRhEAW)@P< z#`yJD)XZXz!y0Agt?>alelxxq3a|Xn@G-uPS;*x4zx$m@>?&Qd6Ew;k7TsXP$vMdI agV#E&BjT|*Q!TIrVeoYIb6Mw<&;$T{%@UIU literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2344.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2344.png" new file mode 100644 index 0000000000000000000000000000000000000000..28e3c0e27c600b0dd5f179cf870577feebd231c2 GIT binary patch literal 14888 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 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2345.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2345.png" new file mode 100644 index 0000000000000000000000000000000000000000..715e338a65e1e6108096ebfe7a5eff5724797f50 GIT binary patch literal 5770 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 KuZ~u;d-ES?+PaJY literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2346.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251120-\346\225\210\346\236\2346.png" new file mode 100644 index 0000000000000000000000000000000000000000..b618390604b48c481967972b30866d1727f51b0f GIT binary patch literal 5847 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 a9xL8IeNfQE)k44ofy`glX(f`u%tWs zIx;Y9?C1WI$O`0h7I;J!GcfQS24TkI`72Tw82D#-x;TbZ#J#<1j6W@fUWW2@vrA#s06{Fb>0imj;jnz`#Mtff>eD5M00r zV^83?0An(Euw=m5DoiGDwh*HfoZZR53u8A>VtnzOYje+@*#$F;;l~p8NgHzak?7!O z7Hh3%&n%6V`wE4f$-A}pc?i0P;^}k=~GVDKH#}IIXpMmQ)qeG%SgT@H|TKtl*tBWi z8{`>8%D*Lle=A(WNLmVknQQZ5J3J2ee0*7UT6|zqCXEw5lJS!){a&9-ON*U;cYp0y zv4;Dpkn{oz&Tq^OkIvP-*;m^{Vk{$>yZ5tL!}~N$b7y})Ovm7bWz(|%->yb8)J=z` z7oZ0ZK~i;>_3w?pzi|%5?2i`#)`Tyv`OP&0hU3WjR(zf2i5uenmR*5h^ zrSI~t%`+pfr+&|m-^==-{3c3e1uA@YY?j}hKmP%Vv5aKy`#r1=c4M0RBDYd;|8g+ z0+r==ZuZ~Z?oVngBbi$cH1{s1xiz2be$X#?kxD_@l&;M6@K*W(>G^rvNo_L?P@|p1 zn` z-5*@+s$N!z66_qoIxS4#GzY?U@sw1*B!PsBo4fhlmmdUZ0D#%f$M6RjKmZ<@2;iqiCkKXtACR!_%-r4M|<`!3TfllZK8 z-1{zy#`vBKlj4b6-To}5!DFgs{F~MD0v7hFDxssKiN|JP_=C+zhM?miz*%KmM_*;b2GP~KiOY!q&8vCE3+aCu%Ce$C%)xp&M)C*9;!vxLRw+1`_1 zKtf1lB7&}GhO$+!Ncu6WpT=yr$Nh>H>O?nL<4QwKVypag^%!cbO>^s|aB!8vNVYR8 zk0{UX+54{6>*CoT&M=9iR_KI6I+WBNRj?IKspz?^KBh$jM3}^^9JA6eFz3TsBH@-t z{hM$aboKhfDX>g7xGz+Ru5EZVK<=sO05oIf;)C7+*W(b+>XD3~JhkW7>&eRv&o?QZjPz?QiD_e5iLIna z`B{;64MMicXY9U^?{($khGy1bKS& zctqh;qi&Mv_O8v8iOnl*t>b&x`#OAKc2_01y}06@w2A#KuWEuB2lZd`cT60splm76 zL!rP)BZ?di25l)0rHoU$F)~SDsv7G}U_68NsZ(oNd|%))yWcyA2cIT<1}l8?_aj^QLB2+^$(D#5$;7h)o8{=kGQ#QfqJQ2<0kC%w5*_i3$#)6FFv! zJ;#j6c@LmhkN^7H8q1-fN?P(8H1l* z;H=)jEg*y@KbP7T4`l+G^LKE#)><-s&g}@Kv14YYuYQy=7D(Tdwi}j)Df|ieB0ri) z|C6w!i=@O=#=S~K^r&2u_1TO~75#&-2A*@_g=wmL_f!>~1|FY2=M`~*MV0phH&j7E zMj}j#(VWfNk~Rjt+hH3Et6OMLhc+KPR}6ntuZ4^B+PcN{ug|6yk_p zPLt`Z*ccdVnj5~YE**7SiyxpD zDrKD8=<`9lU~fcjJmp0gjOh^8P7EofQA75rhz+6u1tzJ;9QF3Ioe(?|{J>7Tgq1o7 z1Yvh3IB^ij=@#E){#E(0CNYt$^)^7XP2WRv%aHCX#~&sQwnM8`5FJsP#gYxmxl#-P z*t26EiuiE?#kY#?vyU6})=RGJ&Bq}Ui(1z$U9JQ6hOfWaelDTPZbN8RQF5wii+O9TV+_xf*DC`y z8>`y~<$w{raZ2MVKNAhhrrUs6bBB8*VsMI%O3Rb#YQjze%7#E7r+Eg=5!WGohcHyP zlFXN@Z?fYfyDh3seBIMrSZk)`|wH2 zx@r5Yv`=SExe)K=&n8bjQ#fpa7%=BJo&s_j5*A%QX-XDGwv=3GlFbHv%*j>x3sJ}3^ zs*!0-Qg44N4@`m@Bo6yE$b1-d*!e?;Mud|32yYBE9}@-$-d|Fd9~>ENwk9wUb+S)$ zG^=+HK5uNR{DChDc{Ibg@b~R2%dnssp%7@BEAv!2hGIocH|t8VG2LZ8)`PCwa()KW z!G)_n&4hw}bq)r<(>6{vBxY9Ap(ZzKhEvtKxW$3QZAU^j&`s~|eIc@dVdr#Dl0^Wz z{m7I)qlr$ONa?V^i^H#W>ZoG&D|K;F*?6URX3iscguY*R9alMH|UK87 zM&@nn)$SX4C*cDjT-L zL%Iw)?j|t}LO!@cZVMi*y6-0v_7t&pj}?q9cF9Fuan*Bsy~_k<%DbYjgc-GYd~(_g z{J*~cvfWFDy*k%)ba^dl$Ke>IeNI)}?VMSIXLa1_q5yG?>tYv0TsLM$%`2rt{TS~b zBGWv2p>0?GqDAwSPkL>~^oU?7M%fXXwi`ycJ6{P2Y-cw&u-g$*S|7K{S#LM>^C~;95d*N}p06e)?N3qk~O{!=$Am5~4q4v0> z9IzM6b&u9)gE=Nh_Qi2m6(sApW@lG2E^e+ zKe^Qq4JuWqV_=;=GULv)pe@GSCkmjO*T@$A4AFKR-I}^^u?Jt#M<>5Pe*0`DBhF7C z|FGYkVQGh{0ED6(G@a)m>eo zOBs8p#!QdwgL9<0L*ADX^WFM}3ide&^iDncm8!~lblc)7TiwE^Zv4Wgle_IfG6dY5 z;>8XF`Bwba*9Fc-tMb|(I+*3hm0dCB9ZR)n;WTW_$3J=~bZPi6Bs`UYfAyckqyz}O z1Hdxy_m*fq7V?zlI#p)eG7UDwsm>e2Hu5F8zIBUD4EYMCAyg5S4{MB@pq8*hJf~@H?6NS+uvfuxH9jdZ?z4d@@p}U^&i|FaTarV3W!xoZR6Zepnfkj1?!zI2Z%o=3h$Dnsbg(#q=0G$H5K>Y}ENS!}o5 zNCW@!8|#AL(NGArEd4{(&^!(qEu>aV^06;vSbr@u`x+wIRmCz0J1T;??#n_{;dCfr zJ44#}&=GKBv}NfXuCxLR$c4((SoTS$u)+^Zo__OTubAIWrUINFnBo@>d#g)w93ftg zj8lPK&;5*V0eEXBz~VABt`y|DyM~cknbP>=-R{E0VGJoSRVzdsBOUSXvm4ZFE4RqBUzRJd`vQ=gDlV^{MvPg66e5czV8?cQmWvZFPr zd>%@=n3-4F%#9a}x7XQvC$C$y2v|jf-9F$rxCHz7l#=s9jnTF=C zq?e!`rz~dI3mlD3c9uCJW_Nl3@osJVDa%-PexkHYL*`!Nr!c?H=E1Lk1*pUQAEY`U z2N;SB5TNWeAc?$}nDvQ*y5cS6e7Ity z>4ARsDEgPQF6C5h>^tif0TnIW;8Sog-%*|;mCc2=#+DRJd6Z=~&T(M?#H21}+zvKZ zZL?4-3k-k|_nr9GE+dTwY5GZ=*;aq$rrZnDUW#7IC4}q!FT&U&54rqY#FVF%+EKw7 zCaaC+jBOHE6WgrM0QQW24ZU3UOeO^Y5PO9vGqshA7G?3NEWF<6ypQ8e_FPbv32>EQ zkq@&+yOoPP^&cw10ed(WD4#hJ=5#AZSn3LPjNkmEk6Xo_N0bHva4GV~WvJ^p65C?e zNzsPS)bNSg!+zyqoXcL5{N6bQYb?9y>G-<`Wxb>fN2I1uc+^$D>+lkJ?s{$1?bvzd z`Cq3&k7Ejg)dkjJytV5CCN6arV}pM$Ge&|j*H6Do%Q@j*-r1Bg5RT$ zU{o3(0B=R3om6@wSr68lH!6Q^j7;n6885S)*sqhi0e)Ts`_U73uiQZO06{H3`nR;Q zie3M6?VQ=sIVZ;zYU&j&x!ToA^m5wbvbsYn`jvoxD~5jBa^T%x*16;L#962Eln6By zF;!K~)cw9mw3daaQ9MoAHSDpC#nHFZ+e4<8Z^eYJR{wYrtreZ$vH!N)5SRd5zxp-U z4+S0!mA0M%GC4S;e+-zV?BD#EnQLI4uPPGzI#Mp}`#$qF;#t8%OU|li;#Z+WAzj51N!}7`C}(2EzJ> zwz|c+Yg=JUn~V?fNECWi$5Q2thT!x7b2Lz3#Z^KilS5$E>i+T#AI((~6jyV7@cTu{ zc-lNc{!nK1=vPz!K~F^GQ_p6z==My9`NyPPOmi>Hrf_J&coB?TW1MCsN6_$hU46w{ zJ!A2}^XV{a+i4Pg1ZGo4-z(&|u}vCg3eXL-H{W{`ZW#bD3>hm*X-X+d z*{M@|rYIcn5Thh>003+&PT@fS{BTh~fo?LPAo)~TUbgEqfFA{d`adq;9!Q1~h+$TC z2vEgst4dL@GzMDp`@~J2ul{LQ#{m%5(`rkby>q8ww+c+GSsaN|gYC>I?nwvO9`EF4 z&ml!gM&?d4EWN3ow{)_y>-y#?liF=!$;CiRU@GmFlrI*q+{9kJ z3##c8*Q#1$katlAdt##E@y*oi3Gka3q5%0wb#J(#Z$TgLZ&rr-8(m+VKL)K-<~(A; zL%M}Rjwv^FCj)DI%$RpMZ z#u4K0?Y$q#qvobW_BmZL7F$rdZlUZKO9*1f9;IG-p|YxLQ6c3iRjwa&EYv91sLbSP zl`^c|383h1SobsC!EbMW7~ihi#_c{m;ev@-ET&GE2!m?Iq_R$)!ln0s#C1-z09x%V-;fF{kYss6CJF9rK)=K03c+ZiZD?mgBdqa4cRm2yc3X z-kQ^~$4_c%y)T9V6iBzEO#imGDCZaOMQ2J;ZFmcaDe?8Rc(FC6Bj0n5_QWh{xMtn> z48SKPcpiRT>R{^+1W2UY5tBYf4>D*Gm3c=|s|^c(&QFda0t)~zBSF)E|1T!_|1IyuWg!?JxQ zm=3>gbP6uE`!9`^i7>p|Kb`$1$F$rm%r4&*!$&gwUnlljOz4H$gG)y`OrCITurF5a z-*u3J?>mH?A(%-NwB=Ek4o}yP?M;KmITf^YB|Bn@Trh_-fD4ZI-557nTbDehZtD+3 zk~=W8S=@P$HdR;PdnXp??FFfu^_>#Al*yke^6wmY@ zh^L=d?cg1u9^xvaOmfHEbz<~M&NS791*_|!>Av&yp4IDoO=sPPqH))GdVyf7;Bghi zFXAd}+`oGAhp>r=BBDhP64;F7pyr#Jsw|s+)##|qNIjnux*ho5I)F{KQn3a~OG{wL zN4=f96w>HETh-awr$^VCN8c)x^4~(L*z3njPwg6b-w-Io2RB5wBX>$t%WCEW zxlRO*kQj@n*nsPB1pV!UO7Z+6PX0%$}n|Gzr>WEf43!VNwj!NH$v_HEl-%RnBJy8 z*0itJl5m~6wDj!(-Ha@Pc+bi@QjK461P$C!T~L-+&CxAMilcrpu<;cXHKIab45h0k zU`iHOnTi~ZT$RM{oY(iAM!iDW=fR2pj)L}=Jr@lvp_-)imZsq09^1xQs{vZ2(gAU6 zmHl7Dw76{kEmI(dOV*1VM-Zr|Q>g(RRx#3|5L!`1tnk|SJQjQzL~$cP0YWF5Yha_F-%b+V@Y|4*jp1g+r)r7^!MXbOjppc{!SAJ=wHrQEDPYn#rH7A) z8=&{aO`HaC_rpJyP87#u#F1e!p_mBn=M9bj#&aZIukSz1gO<)r0Wu$#VON!R@YBPU zG(>**CJ)+1Ky*E3kAWjuL~NZR}VDmE>$F1G5EmsJzcJ!+W82`&krzN>&RnFVK6Az zQIvqJ#yk|U1!O&*))^O)r=ksmq6qVPgJ?2}WgCLZNk4b7epOVV^$L4x38OX{8&M_F zFIx3oG`5hdjpRGIC)*r!CW4W+ow@_K3V^>a3V-j=R`5wFtBnl{Lw+te_vge8i2i^{ z!qwcju+6F!m9|!5S!CF1ppvSP-Xlw7JCT>e_!L!eE+>nbgXfn;)|B9KQfy%ly+?75 zaXF#Azuw^?IO&cNiXmN5;a-rLL?GbG^nguHY;#T|j@Pz>X{70N4C0{aqRETD`iOh( zENmS6C~pd5d%af0li7%e5-a{!o)NV6e#u@=LcHRboS-8HX-tnbdfcx2SH&M7fucf3 z!&O_S*6_V$;(RnhDcq2VI4cEcIm;Tc$A@%b=bsfgG~hV(7rr`osV=h*ZvQeaep7Sc>_oL7QoeGTyqPQA#|s6 zZ5B1|RU;|0AHm{VFn7Wa$k1Q3w-~O}Ty=?LYJLSky=sBy8U(EyyP?1%M$7>_l1}I+ zs2*BAWj}DJyq0m~O@G0MX-KLam$8JHA!aDb@Vni9-nbQPl3RGbm(FAff19lKVn+Y3 zCKMs=kfbfb?m?ePS)G1{DkoUmMBolXmJZc%?Hh{$x)%P66uN^>XyrM`G^hbKzrRi< zMWVkor_`eqo$<6*xW78MbaK(KzXFeF=ghsI4gyWQEihEWbNLmy?-UhsY@Jq`;wQCO ziIhJ{k^6O&cWM%@FcY7}fl~M5hWW#{pQ2$gu(dy1FXxzZqDf^-yg#z@{dzk0yumZFH5fEbrskldPd-Ydp5PYxYlYb) zMT8@b?&F_);^4!6|lxS|u=)P5G;|zJP?!1ar!&0k70(B+Mq-#CW!IZ!- zCW%_=8+C&|9?XlrADvU4Lqd=!?tfPK7W)ml#QWaUTNa3mNFU$iZm`k1dw1GkTl|7R zK1RpH=ewl!2FzBXsl8tMM53IoC5PBxyI#y_V6LrD)MrV^)pjzhlq8jT+mm6APz{?@ z57AHqM6{A@a>JqSj~{a9S&7T*kcSQw@=X9^pa~mWkR3{^g!%?I{kPO?i=XyFD}B~q zKI`*{Uykx%0Dfox)eteD8TioxpmiKMY3wO}9|7tq`i!xKdI%vt(4X6dpKR+9;UQ^ zMR^`JHSzHA+X)=E!NH3X{o>e-3ZJ@hET?Ae#;~O^EqZA{_O_RMiWDy9-5r#qEvZh` z4#>8||IY}~#}W5G0HQ_2tms8sQ6POsY>Xam3_s5?JpJvHbzUHCJJ&CaD;mei`}X62 z4$rKeMwOi7a61`W13JYx_1IYGz-4+pNqruI=4@ZHn1*Ys#H!4+M<$m{Ch|*3lhW=G zRZ>$ZyftyMSL^$y0Qy)*HA-cfi`n;Go8CWt&Wv(diHtQw_Ug83@GCy@d$!}mc|7S; z9bM$7TQEQELy;M*D(o2Rw-`x`!LmEjb;z_T{xd$5kP>Op`JMzSaLeAP7r&k#`<%$D z6Ye^xsSC)g|0jI##4j8db^hf%Rxe zRI?E*lIwVw-4tqe1U9X+L&)I3mTis_h{&|aHta*1y&CglO_DGFYHi1l;r+0#2cm!H zfvZ0lFQ(QsgAxKu&!Vs9r-o&!9oLwOLcs2lIw*dq9wGuQog3rS2^N4BB4Ve}La!Ek zDfykLlqE8R`+$^^(R%YYBNG$Ly)vq;tcpW^9I7?7)LdIEcwbQAZ)dvbXlQ&wjP5OZ zc9wB2W^Kp0KIK9}OLi=`>_RFRDf%|2Fwl@(?Immng#x=;cwmp6&NiHkW8@!J$1xAg z)|5bNERa-T1Y0_3n>UCo2DP7IW1JfTT*ArwrbSwUCU{FagiL7|JBzB^c#jBN(Er$I zeW>9z*u0x%`Y(=z?pJl5z#K?vT2wd`X7G?UuX~AqE(mv)=L)CM1c!*7N%;DsA= z*g}9LBRvAIUkeMib6&l~iG`ohv`Mf+Ge8%MJMbsX19z#(1qLB(Q_YmnyY|nS;;m#& zKk+s)5mtstqGxFHWYHA8jM1Gsk!l^3FJm>}d48hEbD zij4H(V8aRib1beVX+NFPWnx5}6CI4)p`OU?Kk9&i4t#9={dH_GIW)Di=mLyvNIO1tXw=#fdX^HEP9TBKP5d&h5sj1 z^#AevQ4*nRsfd+`E&lCb8jfB-v4Vi2sD})tDzk%N6QlgYGmJFL8jS61Cuvjrq;0S1 z)`b2J-g0gs-SvWgL+|5>!!HTam9n~~-Ov&qm+sf`Ph*E!V*X+x0X2W~qYkM6^l9!m z{farM$D<1oqQjtNi`3dvRs*Jys@qG(*gtc6DH1K7rRWtKf_TI}`x$*b=jj;-deJ7B zp|x5aKgs_^9^o&;VuG+*!UnSrb|R&%Na3KVS@bSXOtE-{}N z&;l{nRErZZPYkDcDbk}5np45_Mag*kQiy+;E{`=CCJfH@N)$?u9=ZCKWgOcam9Cwt z%K^RK0+0(a=OHmT5XUQ2mZDA!3M6u&Tv1MFppQI%-7|B6_&11<^g&EFJ;*l4fs|M9 zb@UMgG_^I&-P^cD_Fyf^9Y$Is^{Dhwh&Hk7`j8pw8_aBOHoI%a!t(@FCP#fNjL##p zrHM7R@UK&rQ_aWqsJ3V9N~^~!$~;-Y77Cjo8uTUx8k zj9WPuWXm>LCdsI~EhV9EI!l&!$#>eH5+J)rO?7+?un;0ni50ZB;)5PoWRO@=E>vAQ zVDGd@^fKg4hfy0Jr_l7Pld^{RH=xitd;&^_g@K;B#Uk^5D)P4& z5lCrDZliJ_6krc#RTLI*X@vG^b_4vzA^vk0;s0CTBTqYU+`B(rd=CteM3|Rh+b+Pu zTy64MGpL>Vip&{6MKV>#Bs8SaRm zOO%QrTjqN>)CsRL>XU8ikL0l>#a_iA{w?ay>Abx>{xH+0Q}PlD$B>?6iGx*e(-5s; z3BTuG=r0@ih_DT0K%-KxOf9>>CZ}E%*S(!bmd!2-$ffC+Auj1!;xANG9G5DU@~6w_ zm9fWS`)u+EdhHmIvB%4#Ht-$lmJSyxFx`LVQ)_Yk0PPQypFy^7s z==|9z;Ez{!CX2<&c(n0f<#S@bIY?2Q(4DC8)BT6M*!wwX>O^sqBHLPDkWXc-F7>j= zr>ds7eSBAS-68Hpf1FRbb0eT}JG1j{-&bdr{d=!$=@WnitIEI79spM!Gpom2AM7HE z{zWGYeXCOH^))r8bjU-;9Z5*3#RVo4?dO{O8;ZteUn6kd<%!xGMOU1ak@7tDu)dD$ z@Gdnm19)zpWZd@=S4d2T6Ae1KXdQb`?%R>NKTK#njVH~rSq!O@syM}? z&}3J9W3Hb?7&*5U0)vOYUfI8QaE}eZ`_F&x=cA+Lkz`AH;|=t~Bq3_7*XHtyk(r%5 z1+Es94RJmFjY^(MqLlJ_AlGMl(h?sR>p zlOvalVW@}JFge}?p6u*9{qZ|p=h=76pgbh*ho|!;T+gd%R)eZwGfwp9FVO;$zUQC; z#}tnP?eYTUR!rn49rw?S<)DXp@ zSu%o)RjQ1R8=7;HIe5m99iMaCs{W%#Y)@{PFD1tGPK{tAX2r= zx9VKrh@`lKVAb+(1ItG)o!E!t8q(a?f{V3r%dO^-Bqq!eOeL-A8WQ8Z(z;(HA9ot80E4MwM1?WZ%t*- z7CKx9L1!kgje8f0S>dG4qs4M?;35e&@}Pg~&Tc4UnI^gLE*y@bf(lOIUY+6mMdh#d zNg94p+i)V4qf8hayNs!}T4Sew1G%khWMVz1rOGl3A4*>z&3dOiYYoTl1$AXp`juG3 z;|dP(wh&?lqIDE@rw`0gM+pH%X(EA9b$4hy^4b9k386OX;gZuoZV^A4j4b2nFlzSL z524Usk)zzcXPxa%Bt7VRe2>ys2*FUmyz-?ml%uo!Mg03|)$`Ojk1NTp%1_*={i1Ik zRQr{!#sx;!9>s*NZnhE8!JJv(_&i?dkF`y#oo>g)kBaz27S&fdXlH2`YXtX=acs;e zDFZICCTT&vRpmJ+Sr zTKCP=@ok!y?dBpM3!&6n*HVs>`!z}6y3oo#e?+!wqxg$%w}hqAP%Gg36dAFkyh4Ts!V?&5AKK`td>)+Tx?- zkCcbRZC%r&LqBT{&kC*C$W`*HSd^#scjuptX$=hIV9uf8MR;&hd&rp(y-&5vd{|bG=E+paS)B82GnW@_sMEuPNzxkyu5_Lla3csAK}l!JQ8jy&QN@^0KC43ka7YSIb= z*1M7&+EigIM-+2=b&%}W~o67b^pU|S@ci83a8W8 zqHl1fG45?(LU~ z&5h$AOL!xO6;*87dUZcI_~;NMH^Y&!WFjprYUQ*rQXzVg=DZc+nts_`t+cR7&S-gN za9@|;`^!!0>RK+S!Jf`M`rlGg5@SVbVE=O|2|5GNpZ%$HGuoB9i?Q zt=E2iqY}^pxIcwEJ4mM|mS#R}5#6FI{~5Y&gm%l-Lz18cArDv`Af>8iz*cP|JGP!c zxBL;oNoV=JUasB|8C<8g7$T_kU^KjCK6qxd*z=se|3>fF|Gf9s(F@lC>Kzxl=&!jp z3XV-YRZf7}^?2;*+Pjg)#i7Y(KXuQn9Uq8v+Jb62mE((#4im%DljkD{IJ(ng$^!)g z+#Hy&#S&XcnF1H{ALRcm)a)VsN3Y9l#6MnH+W)RCCR`)%(G78-!tJ{)MfQ(-7yvDO z2OSX;HmGybZaS_C06@lQgbjP*_bLO^-69pgQ7%XXCj6{m@oVNy8@1S zDaiW|`vX%mnnUd-yTAOjy-uF|Y6cKkg@i0>MJ5Z0NQd_{HkOneLq#|z9Z+DZ=loJ{ z@%Vnij5*#?i^=!dl!J&O)kaZfBxCk93n9yVY0z?;0%x|&yo_TJ3b9WsE5CHJmYfMd zSj;IhtmPq;8Hq;|+32crQO?fKYRFm&Ki5+GQgDGvG+VY^e#tf}?8DeRp~ZUAZ{q$H zkP`%O9S_$^p&E*?#Iby5+&;Z)`iYwTr7@=cxT&z^@jHMpKM<41@uM~rULm!7(49{8 zPXv~k94+NRFoUxmZO9)TIOTz9{H`9AgrJJgx;|+K>`0;JfQh9SV}2RDmJhk|ZYZi} zmOF@ZwsOZtoiY}O$yK+e$_ExOEh&LwK>u~?FtnACuHrg;py>%U7Yp=r9%2se+UaAk z6jV|4LpVSm!*QpNDmh!$@&O7UAohhq=s;)F;e)(ZHG2J)Q8VCmTpMbh*PsJae$aog zuSFH3cXZd75llTiP#qNe!wp|tv0{pLX^1Vk_^VDhGp)m4t+nUh7!{}2&`QFlyUit{ zwK{ciJi67GeqJQYsByct3GM3PnT+*}lVWG}6R`DDm;l1+tL8vA+@N+QqDlxpa>_(J zx{Pm!+q~*jXS&83l0>drj1?S)G>HiwmjHnIw&54isQeV1k(KSAsMa-k?pd_5NMHb3 zY90|vLh}5+DeH)z-|?x20*Ju?9(L`9Meqj{0y_TNUaL-sfEvo0h+k9!$Y=n8=$?a+ z&#sF=TqcCixPtwAPu2fhHS}NY9sl>8WdDEMHA>zGQpi-COCtlE$mec8fTXCLNR^P@ G&;JHJRls%t literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251121-\346\225\210\346\236\2342.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251121-\346\225\210\346\236\2342.png" new file mode 100644 index 0000000000000000000000000000000000000000..b0c90a80239b1f61cc728767c5a50419e534d6ea GIT binary patch literal 5688 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 literal 0 HcmV?d00001 diff --git "a/\346\235\216\345\256\266\345\222\214/imgs/20251121-\346\225\210\346\236\2345.png" "b/\346\235\216\345\256\266\345\222\214/imgs/20251121-\346\225\210\346\236\2345.png" new file mode 100644 index 0000000000000000000000000000000000000000..7efa35fa844591198c3188477f89f60c19029c7d GIT binary patch literal 4506 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 literal 0 HcmV?d00001 -- Gitee From 6dda864acadb5c3ed30283e008850ffd28871165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= <1409177310@qq.com> Date: Sun, 30 Nov 2025 23:22:46 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...025.11.24 - js\346\225\260\347\273\204.md" | 72 ++++++++++ ...025.11.26 - js\351\233\206\345\220\210.md" | 63 +++++++++ ...11.27 - string\345\257\271\350\261\241.md" | 131 ++++++++++++++++++ ...025.11.28 - js\345\274\202\345\270\270.md" | 65 +++++++++ 4 files changed, 331 insertions(+) create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.24 - js\346\225\260\347\273\204.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.26 - js\351\233\206\345\220\210.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.27 - string\345\257\271\350\261\241.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.11.28 - js\345\274\202\345\270\270.md" diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.24 - js\346\225\260\347\273\204.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.24 - js\346\225\260\347\273\204.md" new file mode 100644 index 0000000..20dd518 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.24 - js\346\225\260\347\273\204.md" @@ -0,0 +1,72 @@ +## 笔记 +数组的增删改查 +```bash +- 增加元素 +尾部添加:push() +头部添加:unshift() +指定位置插入:splice() + +- 删除元素 +尾部删除:pop() +头部删除:shift() +指定位置删除:splice() +清空数组:修改 length 为 0 或 splice(0) + +- 修改元素 +通过索引直接赋值,或使用 splice() 替换指定位置元素。 + +- 查找元素 +按值查找索引:indexOf()、lastIndexOf() +按条件查找元素:find() +按条件查找索引:findIndex() +判断是否包含元素:includes() +``` + +## 练习 + +第一题 +```html + + + + + + + Document + + + + + + + + +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.26 - js\351\233\206\345\220\210.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.26 - js\351\233\206\345\220\210.md" new file mode 100644 index 0000000..f838e71 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.26 - js\351\233\206\345\220\210.md" @@ -0,0 +1,63 @@ +## 笔记 +Set 集合 +```bash +- 创建方式 +通过 new Set() 构造函数创建,可传入数组或类数组对象初始化。 +- 常用属性 +size:返回 Set 中元素的数量。 +- 核心方法 +add(value):添加元素,若已存在则不操作,返回 Set 本身。 +has(value):判断是否包含指定元素,返回布尔值。 +delete(value):删除指定元素,成功返回 true,失败返回 false。 +clear():清空所有元素。 +keys():返回包含所有元素的迭代器对象(与 values() 相同)。 +values():返回包含所有元素的迭代器对象。 +entries():返回包含所有元素的迭代器对象(每个元素为 [value, value])。 +forEach(callback, thisArg]):遍历每个元素,执行回调函数。 +``` + +## 练习 + +第一题 +```html + + + + + + 国内手机销量排行榜 + + +

+ + + +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.27 - string\345\257\271\350\261\241.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.27 - string\345\257\271\350\261\241.md" new file mode 100644 index 0000000..7fc3aa0 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.27 - string\345\257\271\350\261\241.md" @@ -0,0 +1,131 @@ +## 笔记 + +```bash + +- charAt()方法 +-- 可以返回字符串中指定位置的字符。 +-- stringObject.charAt(index) +- indexOf()方法 +-- 可以返回某个子字符串在字符串中首次出现的位置 +-- stringObject.indexOf(substring,startindex) +- lastIndexOf()方法 +-- 可以返回某个子字符串在字符串中最后出现的位置 +-- stringObject.lastIndexOf(substring,startindex) + +``` + +## 练习 + +第一题 +```html + + + + + + + Document + + + + + + + +``` + +第二题 +```html + + + + + + + Document + + + + + + + +``` + +第三题 +```html + + + + + + + Document + + + + + + + +``` + +第四题 +```html + + + + + + + Document + + + + + + + +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.11.28 - js\345\274\202\345\270\270.md" "b/\346\235\216\345\256\266\345\222\214/2025.11.28 - js\345\274\202\345\270\270.md" new file mode 100644 index 0000000..46b3c74 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.11.28 - js\345\274\202\345\270\270.md" @@ -0,0 +1,65 @@ +## 笔记 + +- 错误类型 +```bash +- JavaScript 中的错误主要分为以下几类: +- SyntaxError:语法错误(如少写分号、括号不匹配) +- ReferenceError:引用未定义的变量 +- TypeError:类型错误(如调用非函数的变量) +- RangeError:范围错误(如数组长度为负数) +- URIError:URI 处理错误(如 decodeURI 传入无效参数) +- EvalError:eval () 函数执行错误(ES5 后很少见) +- 自定义错误:通过 Error 类扩展 + +``` +## 练习 + +第一题 +```html + + + + + + + Document + + + + + + + +``` + +第二题 +```html + + + + + + + Document + + + + + + + +``` \ No newline at end of file -- Gitee From 7fc47cb46dd444a09ddb3012aefd6ec510d03341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= <1409177310@qq.com> Date: Mon, 8 Dec 2025 00:02:53 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...13\344\273\266\345\237\272\347\241\200.md" | 37 +++++ ...3\344\273\266\345\237\272\347\241\2002.md" | 139 ++++++++++++++++ ...70\255Document\345\257\271\350\261\241.md" | 153 ++++++++++++++++++ ...025.12.05 - js\347\273\203\344\271\240.md" | 93 +++++++++++ 4 files changed, 422 insertions(+) create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.01 - js\344\272\213\344\273\266\345\237\272\347\241\200.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.03 - js\344\272\213\344\273\266\345\237\272\347\241\2002.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.04 - js\344\270\255Document\345\257\271\350\261\241.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.05 - js\347\273\203\344\271\240.md" diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.01 - js\344\272\213\344\273\266\345\237\272\347\241\200.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.01 - js\344\272\213\344\273\266\345\237\272\347\241\200.md" new file mode 100644 index 0000000..059377e --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.01 - js\344\272\213\344\273\266\345\237\272\347\241\200.md" @@ -0,0 +1,37 @@ +## 笔记 +- 鼠标事件 +```js +// 单击 +element.onclick = function() { + console.log('元素被点击了'); +}; + +// 双击 +element.ondblclick = function() { + console.log('元素被双击了'); +}; + +// 右键菜单 +element.oncontextmenu = function(event) { + event.preventDefault(); // 阻止浏览器右键菜单 + console.log('右键被点击了'); + return false; +}; +// 鼠标移入(会冒泡,进入子元素也会触发) +element.onmouseover = function() { + console.log('鼠标移入元素'); +}; + +// 鼠标移出(会冒泡,离开子元素也会触发) +element.onmouseout = function() { + console.log('鼠标移出元素'); +}; + +// 鼠标移入(不冒泡,只对本元素有效) +element.onmouseenter = function() { + console.log('鼠标进入元素'); +}; + +``` + +## 练习 \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.03 - js\344\272\213\344\273\266\345\237\272\347\241\2002.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.03 - js\344\272\213\344\273\266\345\237\272\347\241\2002.md" new file mode 100644 index 0000000..36df649 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.03 - js\344\272\213\344\273\266\345\237\272\347\241\2002.md" @@ -0,0 +1,139 @@ +## 笔记 + +``` bash +- 一次性事件 +element.addEventListener('click', handler, { once: true }); + +- 自动移除的事件委托 +element.addEventListener('click', handler, { capture: true, passive: true }); + +- 可中止的事件监听 +const controller = new AbortController(); +element.addEventListener('click', handler, { signal: controller.signal }); +controller.abort(); + +``` + +## 练习 + +第一题 +```js +const answer = 'C'; +const resultBox = document.getElementById('result'); + +document.addEventListener('keydown', e => { + const key = e.key.toUpperCase(); + if (['A','B','C','D'].includes(key)) { + if (key === answer) { + resultBox.textContent = '答对了!'; + resultBox.style.color = 'green'; + } else { + resultBox.textContent = '答错了,正确答案是 ' + answer; + resultBox.style.color = 'red'; + } + } +}); + +``` + +第二题 +```js + + window.onload = function () { + const now = new Date(); + const currentTime = now.toLocaleString('zh-CN', { + year: 'numeric', + month: '2-digit', + day: '2-digit', + hour: '2-digit', + minute: '2-digit', + second: '2-digit', + hour12: false + }); + console.log('当前时间:', currentTime); + document.body.innerText = currentTime; + } +``` + +第三题 +```js + +const inputFields = document.querySelectorAll('.input-field') + inputFields.forEach(input => { + input.addEventListener('focus', function () { + this.style.borderColor = 'green' + + }) + + input.addEventListener('blur', function () { + this.style.borderColor = '' + }) + }) + +``` + + +第四题 +```js + +const yearSel = document.getElementById('yearSel'); + const currentYear = new Date().getFullYear(); + for (let y = 1900; y <= currentYear; y++) { + yearSel.add(new Option(y + ' 年', y)); + } + yearSel.value = currentYear; + + const monthSel = document.getElementById('monthSel'); + for (let m = 1; m <= 12; m++) { + monthSel.add(new Option(m + ' 月', m)); + } + monthSel.value = 1; + function showBirth() { + const y = yearSel.value; + const m = monthSel.value.padStart(2, '0'); + document.getElementById('result').textContent = + `您的出生年月是 ${y} 年 ${m} 月`; + } + +``` + + +第五题 + + +```js + + const box = document.getElementById('box'); + + + function setTitle(msg) { + document.title = msg; + } + + + box.ondragover = (e) => { + e.preventDefault(); + setTitle('ondragover:拖动元素正在目标上方'); + box.classList.add('dragover'); + }; + + box.ondragleave = () => { + setTitle('ondragleave:拖动元素已离开目标'); + box.classList.remove('dragover'); + }; + + box.ondrop = (e) => { + e.preventDefault(); + box.classList.remove('dragover'); + + const files = e.dataTransfer.files; + if (files.length && files[0].type.startsWith('image/')) { + setTitle('ondrop:图片已放下 → ' + files[0].name); + } else { + setTitle('ondrop:放下的不是图片'); + } + }; + + setTitle('等待拖放图片…'); + +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.04 - js\344\270\255Document\345\257\271\350\261\241.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.04 - js\344\270\255Document\345\257\271\350\261\241.md" new file mode 100644 index 0000000..cfad3e2 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.04 - js\344\270\255Document\345\257\271\350\261\241.md" @@ -0,0 +1,153 @@ +## 笔记 +```bash +//1. 修改样式 +const element = document.getElementById("myElement"); + +// 直接修改style属性 +element.style.color = "red"; +element.style.backgroundColor = "#f0f0f0"; + +// 添加/移除/切换CSS类 +element.classList.add("active"); +element.classList.remove("inactive"); +element.classList.toggle("hidden"); +element.classList.contains("active"); // 检查是否包含类 + +// 获取计算样式 +const computedStyle = window.getComputedStyle(element); +console.log(computedStyle.color); + +//2. 修改属性和内容 +const link = document.querySelector("a"); +``` +## 练习 + + +第一题 +```js + + + + +训练1:背景色前景色互换 + + + +
山不在高,有仙则名。
+ + + + + + +``` + +第二题 + +```js + + + + + +训练2:逐个添加文字 + + + +
+ + + + + + +``` +第三题 + +```js + + + + + +综合练习2:弹出和关闭图片对话框 + + + +
打开图片对话框 + +
+
+ 示例图 + +
+
+ + + + + +``` diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.05 - js\347\273\203\344\271\240.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.05 - js\347\273\203\344\271\240.md" new file mode 100644 index 0000000..8dd47ce --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.05 - js\347\273\203\344\271\240.md" @@ -0,0 +1,93 @@ +## 笔记 + + + +## 练习 + + +第一题 +```js +let inputs = document.getElementsByTagName("input"); +for (let i = 0; i < inputs.length; i++) { + inputs[i].onfocus = function() { + this.style.border = "2px solid blue"; + }; + inputs[i].onblur = function() { + this.style.border = "1px solid gray"; + }; +} +``` + +第二题 +```js + +let dragImg = document.getElementById("dragImg"); +dragImg.ondragover = function(event) { + event.preventDefault(); + document.title = "ondragover: 经过目标区域"; +}; +dragImg.ondragleave = function() { + document.title = "ondragleave: 离开目标区域"; +}; +dragImg.ondrop = function(event) { + event.preventDefault(); + document.title = "ondrop: 放置到目标区域"; +}; + +``` + +第三题 +```js +function allowDrop(event) { + event.preventDefault(); +} +function drag(event) { + event.dataTransfer.setData("text", event.target.id); +} +function drop(event) { + event.preventDefault(); + let data = event.dataTransfer.getData("text"); + event.target.appendChild(document.getElementById(data)); +} + +``` + +第四题 +```js + +let btn = document.getElementById("testBtn"); +btn.onmousedown = function() { + this.style.backgroundColor = "green"; + this.style.color = "white"; +}; +btn.onmouseup = function() { + this.style.backgroundColor = ""; + this.style.color = ""; +}; +``` + + +第五题 +```js + + + +
+ + function getFileName() { + let fullURL = window.location.href; + let fileName = fullURL.substring(fullURL.lastIndexOf("/") + 1); + if (fileName.indexOf("?") !== -1) { + fileName = fileName.substring(0, fileName.indexOf("?")); + } + if (fileName === "") { + fileName = "index.html (默认首页)"; + } + let resultDiv = document.getElementById("result"); + resultDiv.innerHTML = + "完整URL: " + fullURL + "

" + + "文件名: " + fileName + ""; + } + window.onload = getFileName; + +``` \ No newline at end of file -- Gitee From 673cbc39cb8b780a38eafc7377de0659c24b011d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= <1409177310@qq.com> Date: Sun, 14 Dec 2025 22:04:41 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6\241\243\345\257\271\350\261\241\346\250\241\345\236\213.md" | 1 + .../2025.12.11 - windows\345\257\271\350\261\241.md" | 1 + ...5\231\250\345\257\271\350\261\241\346\250\241\345\236\213.md" | 1 + 3 files changed, 3 insertions(+) create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.10 - \346\226\207\346\241\243\345\257\271\350\261\241\346\250\241\345\236\213.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.11 - windows\345\257\271\350\261\241.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.12 - \346\265\217\350\247\210\345\231\250\345\257\271\350\261\241\346\250\241\345\236\213.md" diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.10 - \346\226\207\346\241\243\345\257\271\350\261\241\346\250\241\345\236\213.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.10 - \346\226\207\346\241\243\345\257\271\350\261\241\346\250\241\345\236\213.md" new file mode 100644 index 0000000..11134fc --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.10 - \346\226\207\346\241\243\345\257\271\350\261\241\346\250\241\345\236\213.md" @@ -0,0 +1 @@ +\# JavaScript 文档对象模型(DOM)核心笔记 ## 一、DOM 基础概念 ### 1. 什么是 DOM DOM(Document Object Model)是浏览器将 HTML/XML 文档解析成的**树形结构**,把文档中的每个节点(标签、属性、文本等)转化为可被 JS 操作的对象,是 JS 操作网页内容的核心接口。 - 核心特点:跨平台、语言无关,浏览器内置实现,无需额外引入。 - 核心树结构:Document(根节点)→ Element(元素节点)→ Attribute(属性节点)→ Text(文本节点)。 ### 2. DOM 节点分类 | 节点类型 | 说明 | 示例 | |----------|---------------------|-----------------------| | 元素节点 | HTML 标签 | `
`、`` | | 文本节点 | 标签内的文本内容 | `div` 中的 `hello` | | 属性节点 | 标签的属性 | `id="txt"`、`class="box"` | | 文档节点 | 整个文档的根节点 | `document` 对象 | ## 二、DOM 核心操作 ### 1. 获取 DOM 元素(查询) #### (1)基础获取方法(常用) | 方法 | 说明 | 示例 | |-------------------------------|---------------------------------------|-------------------------------| | `getElementById(id)` | 通过 ID 获取唯一元素(返回单个元素)| `document.getElementById("txt")` | | `getElementsByTagName(tag)` | 通过标签名获取元素集合(HTMLCollection) | `document.getElementsByTagName("div")` | | `getElementsByClassName(cls)` | 通过类名获取元素集合(HTMLCollection) | `document.getElementsByClassName("box")` | | `querySelector(selector)` | 通过 CSS 选择器获取第一个匹配元素 | `document.querySelector("#txt .item")` | | `querySelectorAll(selector)` | 通过 CSS 选择器获取所有匹配元素(NodeList) | `document.querySelectorAll("input")` | #### (2)注意事项 - `getElementById` 是 `document` 专属方法,元素节点无此方法; - `querySelectorAll` 返回的 NodeList 是静态集合(不会随 DOM 变化自动更新),`getElementsByTagName` 返回的是动态集合; - 未找到元素时,返回 `null`(单个获取)或空集合(批量获取)。 ### 2. 创建/添加 DOM 节点 #### (1)创建节点 ```javascript // 创建元素节点 const div = document.createElement("div"); // 创建文本节点 const text = document.createTextNode("Hello DOM"); // 设置元素属性/内容 div.id = "newDiv"; div.className = "content"; div.textContent = "Hello DOM"; // 推荐(仅文本) div.innerHTML = "Hello DOM"; // 可解析 HTML(注意 XSS 风险) ``` #### (2)添加节点 | 方法 | 说明 | 示例 | |---------------------|-------------------------------|-----------------------| | `appendChild(node)` | 将节点添加到父元素末尾 | `parent.appendChild(div)` | | `insertBefore(new, old)` | 在指定节点前插入新节点 | `parent.insertBefore(div, oldNode)` | ### 3. 修改 DOM 节点 #### (1)修改元素属性 ```javascript const input = document.getElementById("txt"); // 直接修改内置属性 input.value = "新内容"; // 输入框值 input.src = "img.jpg"; // 图片地址 // 修改自定义属性(推荐用 dataset) input.dataset.id = "123"; // 对应 HTML 的 data-id="123" // 通用属性操作 input.setAttribute("class", "active"); // 设置属性 input.getAttribute("id"); // 获取属性 input.removeAttribute("disabled"); // 删除属性 ``` #### (2)修改样式 ```javascript // 行内样式(优先级高) input.style.color = "red"; input.style.border = "1px solid blue"; // 类名样式(推荐,分离样式与逻辑) input.classList.add("active"); // 添加类 input.classList.remove("active"); // 删除类 input.classList.toggle("active"); // 切换类 ``` #### (3)修改文本/HTML 内容 ```javascript const div = document.getElementById("box"); div.textContent = "纯文本内容"; // 仅文本,不解析 HTML div.innerHTML = "加粗文本"; // 解析 HTML 标签 ``` ### 4. 删除/替换 DOM 节点 ```javascript const parent = document.getElementById("parent"); const child = document.getElementById("child"); // 删除节点 parent.removeChild(child); // 替换节点 const newNode = document.createElement("p"); parent.replaceChild(newNode, child); // 直接删除自身(ES6+) child.remove(); ``` ## 三、DOM 事件处理 ### 1. 事件绑定方式 #### (1)内联绑定(HTML 标签内) ```html ``` - 缺点:HTML 与 JS 耦合,不利于维护。 #### (2)DOM 0 级绑定(元素属性) ```javascript const btn = document.getElementById("btn"); btn.onclick = function() { console.log("DOM 0 级事件"); }; // 移除事件 btn.onclick = null; ``` - 特点:一个元素同一事件只能绑定一个处理函数,后绑定会覆盖前一个。 #### (3)DOM 2 级绑定(事件监听) ```javascript const btn = document.getElementById("btn"); // 绑定事件 btn.addEventListener("click", handleClick); btn.addEventListener("click", () => { console.log("第二个点击事件"); }); // 移除事件(必须传同一个函数引用) btn.removeEventListener("click", handleClick); function handleClick() { console.log("DOM 2 级事件"); } ``` - 特点:支持绑定多个事件处理函数,可指定事件捕获/冒泡(第三个参数,默认 false 冒泡)。 ### 2. 事件对象(Event) 事件触发时自动传入处理函数的参数,核心属性/方法: | 属性/方法 | 说明 | |---------------------|---------------------------------------| | `target` | 触发事件的**原始元素**(最底层节点)| | `currentTarget` | 绑定事件的元素(this 指向)| | `preventDefault()` | 阻止事件默认行为(如表单提交、a 标签跳转) | | `stopPropagation()` | 阻止事件冒泡/捕获 | 示例: ```javascript const form = document.getElementById("form"); form.onsubmit = function(event) { event.preventDefault(); // 阻止表单默认提交 console.log(event.target); // 触发事件的元素(如提交按钮) }; ``` ### 3. 常见 DOM 事件 | 事件类型 | 示例 | 说明 | |----------|-----------------------|-----------------------| | 鼠标事件 | `click`、`mouseover` | 点击、鼠标悬浮 | | 表单事件 | `submit`、`reset`、`focus`、`blur` | 提交、重置、聚焦、失焦 | | 窗口事件 | `load`、`resize` | 页面加载、窗口大小调整 | ## 四、DOM 常用技巧与避坑 ### 1. 核心避坑点 #### (1)获取元素时机 JS 代码需在 DOM 加载完成后执行,否则获取不到元素: ```html
``` #### (2)避免滥用 innerHTML `innerHTML` 会解析 HTML 标签,存在 XSS 安全风险;纯文本内容优先用 `textContent`。 #### (3)循环操作 DOM 优化 批量创建节点时,先用 `DocumentFragment` 暂存,避免频繁操作 DOM 导致性能损耗: ```javascript const frag = document.createDocumentFragment(); for (let i = 0; i < 100; i++) { const li = document.createElement("li"); li.textContent = `选项 ${i}`; frag.appendChild(li); } document.getElementById("list").appendChild(frag); ``` ### 2. 常用技巧 #### (1)表单重置/提交控制 ```javascript // 重置确认(阻止默认重置) function confirmReset() { if (confirm("是否重置?")) { document.getElementById("txt").value = ""; return true; } return false; } // 表单提交验证 form.onsubmit = function(event) { event.preventDefault(); // 阻止默认提交 // 验证逻辑... }; ``` #### (2)动态生成下拉选项 ```javascript const select = document.getElementById("year"); // 循环生成年份选项 for (let i = 1999; i <= 2025; i++) { select.innerHTML += ``; } ``` #### (3)窗口大小监听 ```javascript // 实时获取窗口宽高 function getWindowSize() { console.log("宽度:", window.innerWidth); console.log("高度:", window.innerHeight); } window.addEventListener("resize", getWindowSize); getWindowSize(); // 初始化执行 ``` ## 五、DOM 核心总结 1. DOM 是 JS 操作网页的核心,核心是「获取-修改-添加-删除」节点; 2. 事件处理的核心是 `event` 对象,`preventDefault()` 阻止默认行为,`stopPropagation()` 阻止冒泡; 3. 性能优化:减少频繁 DOM 操作,优先用 `DocumentFragment`、`classList` 替代行内样式; 4. 安全注意:避免 `innerHTML` 处理用户输入,防止 XSS 攻击。 \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.11 - windows\345\257\271\350\261\241.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.11 - windows\345\257\271\350\261\241.md" new file mode 100644 index 0000000..b1273a7 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.11 - windows\345\257\271\350\261\241.md" @@ -0,0 +1 @@ +\# JavaScript window 对象核心笔记 ## 一、window 基础概念 ### 1. 什么是 window 对象 `window` 是浏览器环境的**全局顶级对象**,代表当前浏览器窗口/标签页,所有浏览器内置的全局变量、函数、DOM 相关接口都挂载在 `window` 上。 - 核心特点: - 无需声明即可直接访问(如 `window.alert()` 可简写为 `alert()`); - 每个浏览器标签页对应一个独立的 `window` 对象,互不干扰; - 既是全局作用域的顶层对象,也是 DOM 树的根节点 `document` 的宿主对象。 ### 2. window 与全局作用域的关系 在浏览器中,**全局变量/函数会自动成为 window 的属性/方法**: ```javascript // 声明全局变量 let name = "张三"; console.log(window.name); // 输出:张三 // 声明全局函数 function sayHi() { console.log("Hi"); } window.sayHi(); // 输出:Hi ``` > 注意:用 `let/const` 声明的全局变量虽在全局作用域,但不会成为 `window` 的可枚举属性(`var` 声明的会)。 ## 二、window 核心属性 ### 1. 文档相关 | 属性 | 说明 | 示例 | |-------------|---------------------------------------|-------------------------------| | `document` | 指向当前窗口的 DOM 根节点(核心)| `window.document.getElementById("txt")` | | `location` | 包含当前页面的 URL 信息,可修改实现跳转 | `window.location.href = "https://www.baidu.com"` | | `history` | 管理浏览器会话历史(前进/后退)| `window.history.back()`(后退一页) | | `screen` | 包含用户屏幕的尺寸信息 | `window.screen.width`(屏幕宽度) | ### 2. 窗口尺寸/位置 | 属性 | 说明 | 备注 | |---------------------|---------------------------------------|-------------------------------| | `innerWidth` | 窗口可视区域宽度(含滚动条)| 常用:获取当前窗口宽度 | | `innerHeight` | 窗口可视区域高度(含滚动条)| 常用:获取当前窗口高度 | | `outerWidth` | 浏览器窗口整体宽度(含边框/工具栏)| 区分:inner 是可视区,outer 是整个窗口 | | `outerHeight` | 浏览器窗口整体高度(含边框/工具栏)| | 示例:实时获取窗口尺寸 ```javascript function getWindowSize() { console.log("可视区宽度:", window.innerWidth); console.log("可视区高度:", window.innerHeight); } // 窗口大小变化时触发 window.addEventListener("resize", getWindowSize); ``` ### 3. 其他常用属性 | 属性 | 说明 | 示例 | |-------------|---------------------------------------|-------------------------------| | `navigator` | 包含浏览器/系统信息(如浏览器类型、版本) | `window.navigator.userAgent`(获取浏览器UA) | | `localStorage` | 本地存储(永久存储,除非手动删除)| `window.localStorage.setItem("name", "张三")` | | `sessionStorage` | 会话存储(仅当前标签页有效,关闭即清空) | `window.sessionStorage.getItem("name")` | | `console` | 控制台对象(调试用)| `window.console.log("调试信息")` | | `event` | 全局事件对象(非标准,推荐事件函数参数获取) | 不推荐直接用:`window.event.target` | ## 三、window 核心方法 ### 1. 弹窗类方法(常用交互) | 方法 | 说明 | 示例 | |---------------------|---------------------------------------|-------------------------------| | `alert(message)` | 弹出提示框(无返回值)| `window.alert("操作成功!")` | | `confirm(message)` | 弹出确认框(返回布尔值:确认→true,取消→false) | `const res = window.confirm("是否删除?")` | | `prompt(message, default)` | 弹出输入框(返回输入内容,取消→null) | `const val = window.prompt("请输入姓名", "张三")` | > 注意:弹窗方法会阻塞代码执行,直到用户操作完成;移动端体验差,尽量少用。 ### 2. 窗口控制方法 | 方法 | 说明 | 示例 | |---------------------|---------------------------------------|-------------------------------| | `open(url, name, params)` | 打开新窗口/标签页 | `window.open("https://baidu.com", "_blank", "width=500,height=300")` | | `close()` | 关闭当前窗口(仅对 `open` 打开的窗口有效) | `const newWin = window.open(); newWin.close()` | | `scrollTo(x, y)` | 滚动到页面指定位置 | `window.scrollTo(0, 0)`(回到顶部) | | `scrollBy(x, y)` | 相对当前位置滚动指定距离 | `window.scrollBy(0, 100)`(向下滚100px) | ### 3. 定时器方法(核心异步操作) #### (1)一次性定时器(setTimeout) ```javascript // 语法:setTimeout(回调函数, 延迟时间(ms), 回调参数) const timer = window.setTimeout((msg) => { console.log(msg); }, 1000, "延迟1秒执行"); // 取消定时器 window.clearTimeout(timer); ``` #### (2)周期性定时器(setInterval) ```javascript // 语法:setInterval(回调函数, 间隔时间(ms), 回调参数) let count = 0; const timer = window.setInterval(() => { count++; console.log("计数:", count); if (count >= 5) { window.clearInterval(timer); // 取消定时器 } }, 1000); ``` > 注意:定时器回调函数的 `this` 指向 `window`(严格模式下为 `undefined`)。 ### 4. 其他常用方法 | 方法 | 说明 | 示例 | |---------------------|---------------------------------------|-------------------------------| | `encodeURI/encodeURIComponent` | URL 编码(处理中文/特殊字符) | `window.encodeURI("https://百度.com")` | | `decodeURI/decodeURIComponent` | URL 解码 | `window.decodeURI(encodedUrl)` | | `parseInt/parseFloat` | 字符串转数字(全局方法,挂载在window) | `window.parseInt("123px")` // 123 | ## 四、window 常用事件 ### 1. 窗口生命周期事件 | 事件 | 说明 | 示例 | |---------------|---------------------------------------|-------------------------------| | `load` | 页面所有资源(图片、JS、CSS)加载完成 | `window.onload = () => { console.log("页面加载完成") }` | | `DOMContentLoaded` | DOM 解析完成(资源未加载完也触发) | `window.addEventListener("DOMContentLoaded", () => {})` | | `beforeunload` | 窗口关闭/刷新前触发(可提示用户)| `window.onbeforeunload = (e) => { e.returnValue = "确定离开?" }` | | `unload` | 窗口关闭时触发(仅执行简单操作)| `window.onunload = () => { console.log("窗口关闭") }` | ### 2. 窗口交互事件 | 事件 | 说明 | 示例 | |---------------|---------------------------------------|-------------------------------| | `resize` | 窗口大小调整时触发 | `window.addEventListener("resize", getWindowSize)` | | `scroll` | 页面滚动时触发 | `window.onscroll = () => { console.log("页面滚动了") }` | | `focus` | 窗口获得焦点时触发(点击标签页)| `window.onfocus = () => { console.log("窗口激活") }` | | `blur` | 窗口失去焦点时触发(切其他标签页)| `window.onblur = () => { console.log("窗口失活") }` | ## 五、window 避坑与技巧 ### 1. 核心避坑点 #### (1)全局变量污染 避免随意声明全局变量(会挂载到 `window`),推荐用模块化/闭包封装: ```javascript // 不良写法:污染window let username = "张三"; // 推荐写法:闭包封装 (function() { let username = "张三"; // 仅暴露需要的接口 window.getUser = () => username; })(); ``` #### (2)定时器的 this 指向 定时器回调中 `this` 默认指向 `window`,如需指向当前对象,用箭头函数/绑定 this: ```javascript const obj = { name: "张三", sayHi: function() { // 错误:this 指向 window setTimeout(function() { console.log(this.name); // undefined }, 1000); // 正确:箭头函数继承外层 this setTimeout(() => { console.log(this.name); // 张三 }, 1000); } }; ``` #### (3)resize/scroll 事件防抖 频繁触发的事件(如 resize)需加防抖,避免性能损耗: ```javascript let timer; window.addEventListener("resize", () => { clearTimeout(timer); timer = setTimeout(() => { console.log("窗口大小稳定了"); }, 100); }); ``` ### 2. 实用技巧 #### (1)判断当前环境是否为浏览器 ```javascript if (typeof window !== "undefined") { console.log("浏览器环境"); } else { console.log("非浏览器环境(如Node.js)"); } ``` #### (2)回到页面顶部(平滑滚动) ```javascript window.scrollTo({ top: 0, behavior: "smooth" // 平滑滚动(可选) }); ``` #### (3)获取浏览器类型(简易版) ```javascript const userAgent = window.navigator.userAgent; if (userAgent.includes("Chrome")) { console.log("Chrome浏览器"); } else if (userAgent.includes("Firefox")) { console.log("Firefox浏览器"); } ``` ## 六、核心总结 1. `window` 是浏览器全局顶级对象,所有全局变量/方法都挂载其上; 2. 核心能力:窗口控制、弹窗交互、定时器、存储(localStorage/sessionStorage)、URL 处理; 3. 事件重点:`load/DOMContentLoaded`(页面加载)、`resize/scroll`(窗口交互); 4. 优化要点:定时器及时清除、高频事件加防抖、避免全局变量污染; 5. 区别:`innerWidth`(可视区)≠ `outerWidth`(整个窗口),`load`(资源全加载)≠ `DOMContentLoaded`(DOM解析完)。 \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.12 - \346\265\217\350\247\210\345\231\250\345\257\271\350\261\241\346\250\241\345\236\213.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.12 - \346\265\217\350\247\210\345\231\250\345\257\271\350\261\241\346\250\241\345\236\213.md" new file mode 100644 index 0000000..c93e920 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.12 - \346\265\217\350\247\210\345\231\250\345\257\271\350\261\241\346\250\241\345\236\213.md" @@ -0,0 +1 @@ +\# JavaScript 浏览器对象模型(BOM)核心笔记 ## 一、BOM 基础概念 ### 1. 什么是 BOM BOM(Browser Object Model)即浏览器对象模型,是用于操作浏览器窗口及组件的一套 API,**无官方标准**(由各浏览器厂商实现,核心功能基本一致),以 `window` 为顶级对象,整合了控制浏览器窗口、导航、存储、网络等能力。 ### 2. BOM 与 DOM 的关系 | 维度 | BOM(浏览器对象模型)| DOM(文档对象模型)| |--------------|---------------------------------------|---------------------------------------| | 核心对象 | `window`(顶级)| `document`(挂载在 `window` 下)| | 操作目标 | 浏览器窗口/组件(标签页、地址栏、历史记录等) | 网页内容(HTML 标签、文本、属性等)| | 标准规范 | 无统一标准,依赖浏览器实现 | W3C 标准,跨浏览器一致性高 | | 核心能力 | 窗口控制、导航、存储、定时器、网络等 | 节点增删改查、事件处理、样式修改 | ### 3. BOM 核心构成 BOM 以 `window` 为核心,包含以下核心子对象: ``` window ├── document(DOM 根节点,归属 BOM 范畴) ├── location(地址栏/URL 信息) ├── history(浏览历史) ├── navigator(浏览器/系统信息) ├── screen(屏幕信息) ├── localStorage/sessionStorage(存储) ├── 定时器(setTimeout/setInterval) └── 弹窗/窗口控制方法(alert/open 等) ``` ## 二、BOM 核心子对象详解 ### 1. location 对象(URL 操作核心) #### (1)核心属性(URL 拆解) 假设当前 URL 为:`https://www.baidu.com:8080/search?kw=js#top` | 属性 | 说明 | 示例值 | |--------------|-----------------------|---------------------------------| | `href` | 完整 URL | `https://www.baidu.com:8080/search?kw=js#top` | | `protocol` | 协议(含 `://`)| `https:` | | `host` | 主机名 + 端口 | `www.baidu.com:8080` | | `hostname` | 主机名(不含端口)| `www.baidu.com` | | `port` | 端口号 | `8080` | | `pathname` | 路径 | `/search` | | `search` | 查询参数(含 `?`)| `?kw=js` | | `hash` | 哈希锚点(含 `#`)| `#top` | #### (2)核心方法 | 方法 | 说明 | 示例 | |---------------------|---------------------------------------|-------------------------------| | `assign(url)` | 跳转到新 URL,保留历史记录(可后退)| `location.assign("https://baidu.com")` | | `replace(url)` | 跳转到新 URL,替换当前历史记录(不可后退) | `location.replace("https://google.com")` | | `reload(force)` | 刷新页面,`force=true` 强制从服务器刷新 | `location.reload(true)` | #### (3)常用操作 ```javascript // 跳转页面(最常用) location.href = "https://baidu.com"; // 修改查询参数(示例:添加/修改 kw 参数) location.search = "?kw=bom"; // 修改哈希锚点(页面内滚动) location.hash = "#footer"; // 解析查询参数(实用技巧) function getQueryParam(key) { const params = new URLSearchParams(location.search); return params.get(key); } console.log(getQueryParam("kw")); // 输出:js ``` ### 2. history 对象(浏览历史控制) #### (1)核心属性 | 属性 | 说明 | 示例 | |--------------|-----------------------|-------------------------------| | `length` | 历史记录条数 | `window.history.length` | | `state` | 当前历史记录的状态值 | `window.history.state` | #### (2)核心方法 | 方法 | 说明 | 示例 | |---------------------|---------------------------------------|-------------------------------| | `back()` | 后退一页(等同于浏览器后退按钮)| `history.back()` | | `forward()` | 前进一页(等同于浏览器前进按钮)| `history.forward()` | | `go(n)` | 跳转 n 页(n 为正数前进,负数后退)| `history.go(-2)`(后退2页)| | `pushState(state, title, url)` | 添加新历史记录(不跳转) | `history.pushState({id:1}, "", "/page1")` | | `replaceState(state, title, url)` | 替换当前历史记录 | `history.replaceState({id:2}, "", "/page2")` | > 注意:`pushState/replaceState` 仅修改 URL 不触发页面跳转,常配合前端路由使用。 ### 3. navigator 对象(浏览器/系统信息) #### (1)常用属性 | 属性 | 说明 | 示例 | |---------------------|---------------------------------------|-------------------------------| | `userAgent` | 浏览器 UA 字符串(识别浏览器/系统)| `navigator.userAgent` | | `language` | 浏览器默认语言 | `navigator.language` // "zh-CN" | | `platform` | 操作系统平台 | `navigator.platform` // "Win32" | | `onLine` | 浏览器是否联网(布尔值)| `navigator.onLine` | #### (2)实用示例:识别浏览器类型 ```javascript const ua = navigator.userAgent; if (ua.includes("Chrome") && !ua.includes("Edge")) { console.log("Chrome 浏览器"); } else if (ua.includes("Firefox")) { console.log("Firefox 浏览器"); } else if (ua.includes("Edg")) { console.log("Edge 浏览器"); } ``` ### 4. screen 对象(屏幕信息) #### (1)常用属性 | 属性 | 说明 | 示例 | |---------------------|---------------------------------------|-------------------------------| | `width/height` | 屏幕总宽度/高度(像素)| `screen.width` // 1920 | | `availWidth/availHeight` | 屏幕可用宽/高(不含任务栏) | `screen.availHeight` // 1080 | | `colorDepth` | 屏幕颜色深度(通常 24/32)| `screen.colorDepth` // 24 | #### (2)实用场景:适配屏幕尺寸 ```javascript // 判断是否为移动端屏幕 function isMobile() { return screen.width < 768; } console.log(isMobile()); // 移动端返回 true ``` ### 5. 存储对象(localStorage/sessionStorage) #### (1)核心区别 | 特性 | localStorage | sessionStorage | |--------------|--------------------|--------------------| | 存储周期 | 永久存储(除非手动删除) | 会话存储(标签页关闭即清空) | | 共享范围 | 同域名下所有标签页共享 | 仅当前标签页有效 | | 存储大小 | 约 5MB | 约 5MB | #### (2)核心方法(两者通用) ```javascript // 存储数据(仅支持字符串,复杂数据需序列化) localStorage.setItem("name", "张三"); localStorage.setItem("user", JSON.stringify({id:1, age:20})); // 获取数据 const name = localStorage.getItem("name"); const user = JSON.parse(localStorage.getItem("user")); // 删除数据 localStorage.removeItem("name"); // 清空所有数据 localStorage.clear(); ``` ## 三、BOM 核心方法(window 挂载) ### 1. 弹窗交互方法 | 方法 | 说明 | 返回值/特点 | |---------------------|---------------------------------------|-------------------------------| | `alert(msg)` | 提示框(无交互)| 无返回值,阻塞代码执行 | | `confirm(msg)` | 确认框(确认/取消)| 确认→true,取消→false | | `prompt(msg, def)` | 输入框(可输入内容)| 输入内容→字符串,取消→null | > 注意:弹窗会阻塞代码执行,移动端体验差,仅用于简单调试/提示。 ### 2. 窗口控制方法 | 方法 | 说明 | 示例 | |---------------------|---------------------------------------|-------------------------------| | `open(url, name, params)` | 打开新窗口/标签页 | `window.open("https://baidu.com", "_blank", "width=500,height=300")` | | `close()` | 关闭当前窗口(仅对 open 打开的窗口有效) | `const newWin = window.open(); newWin.close()` | | `moveTo(x, y)` | 移动窗口到指定坐标(部分浏览器禁用)| `window.moveTo(100, 100)` | | `resizeTo(w, h)` | 调整窗口尺寸(部分浏览器禁用)| `window.resizeTo(800, 600)` | ### 3. 定时器方法(异步核心) #### (1)一次性定时器(setTimeout) ```javascript // 语法:setTimeout(回调, 延迟ms, 参数1, 参数2...) const timer = setTimeout((msg) => { console.log(msg); // 输出:延迟1秒 }, 1000, "延迟1秒"); // 取消定时器 clearTimeout(timer); ``` #### (2)周期性定时器(setInterval) ```javascript // 语法:setInterval(回调, 间隔ms, 参数...) let count = 0; const timer = setInterval(() => { count++; if (count >= 5) clearInterval(timer); // 执行5次后取消 }, 1000); ``` > 注意:定时器回调的 `this` 指向 `window`(严格模式下为 `undefined`)。 ## 四、BOM 常用事件 ### 1. 窗口生命周期事件 | 事件 | 说明 | 触发时机 | |---------------------|---------------------------------------|-------------------------------| | `load` | 页面所有资源加载完成(图片/JS/CSS)| 最后触发,等待资源加载 | | `DOMContentLoaded` | DOM 解析完成(资源未加载完也触发)| 提前触发,性能更优 | | `beforeunload` | 窗口关闭/刷新前 | 可提示用户是否离开 | | `unload` | 窗口关闭时 | 仅执行简单操作(如埋点)| 示例: ```javascript // DOM 解析完成即可执行(推荐) window.addEventListener("DOMContentLoaded", () => { console.log("DOM 加载完成,可操作节点"); }); // 窗口关闭前提示 window.addEventListener("beforeunload", (e) => { e.returnValue = "确定要离开吗?"; // 兼容各浏览器 return "确定要离开吗?"; }); ``` ### 2. 窗口交互事件 | 事件 | 说明 | 示例 | |---------------------|---------------------------------------|-------------------------------| | `resize` | 窗口大小调整时 | 监听响应式布局 | | `scroll` | 页面滚动时 | 监听滚动位置(如回到顶部)| | `focus` | 窗口获得焦点(点击标签页)| `window.onfocus = () => {}` | | `blur` | 窗口失去焦点(切其他标签页)| `window.onblur = () => {}` | 示例:滚动监听(防抖优化) ```javascript let timer; window.addEventListener("scroll", () => { clearTimeout(timer); timer = setTimeout(() => { // 获取滚动距离 const scrollTop = window.scrollY || document.documentElement.scrollTop; console.log("滚动位置:", scrollTop); }, 100); // 防抖延迟100ms }); ``` ## 五、BOM 避坑与最佳实践 ### 1. 核心避坑点 #### (1)全局变量污染 `window` 是全局对象,随意声明变量会挂载到 `window` 上,导致污染: ```javascript // 不良写法:污染 window var age = 20; console.log(window.age); // 20 // 推荐写法:模块化/闭包封装 const myModule = (() => { let age = 20; return { getAge: () => age }; })(); ``` #### (2)定时器的精度问题 定时器延迟时间不是“绝对准确”,受浏览器任务队列影响,延迟时间≥设置值: ```javascript // 实际执行时间可能略大于1000ms setTimeout(() => { console.log("延迟1秒执行"); }, 1000); ``` #### (3)localStorage 存储限制 - 仅支持字符串,存储对象需用 `JSON.stringify` 序列化; - 跨域无法共享,同域名下不同端口/协议也不共享; - 避免存储敏感信息(明文存储,易被篡改)。 #### (4)窗口操作权限 现代浏览器对 `open/resizeTo/moveTo` 等方法做了限制: - 仅能在用户交互(如点击)中触发 `open`; - 无法调整主窗口尺寸,仅能调整 `open` 打开的子窗口。 ### 2. 最佳实践 #### (1)优先使用 DOMContentLoaded 替代 load `DOMContentLoaded` 触发更早,无需等待图片/视频加载,提升代码执行效率: ```javascript window.addEventListener("DOMContentLoaded", init); // 推荐 // window.onload = init; // 仅需等待资源加载时使用 ``` #### (2)高频事件(resize/scroll)加防抖 避免频繁触发事件导致性能损耗: ```javascript function debounce(fn, delay = 100) { let timer; return (...args) => { clearTimeout(timer); timer = setTimeout(() => fn.apply(this, args), delay); }; } // 使用防抖函数 window.addEventListener("resize", debounce(getWindowSize)); ``` #### (3)URL 操作优先用 location.href 修改 `location.href` 是最通用的跳转方式,兼容性优于 `assign/replace`: ```javascript // 推荐(可后退) location.href = "https://baidu.com"; // 仅需替换历史记录时用 // location.replace("https://baidu.com"); ``` #### (4)存储复杂数据时做好序列化/反序列化 ```javascript // 存储对象 const user = { id: 1, name: "张三" }; localStorage.setItem("user", JSON.stringify(user)); // 获取对象(需反序列化) const savedUser = JSON.parse(localStorage.getItem("user")) || {}; ``` ## 六、BOM 核心总结 1. BOM 以 `window` 为顶级对象,整合了浏览器窗口、导航、存储、定时器等能力,无统一标准但核心功能通用; 2. 核心子对象:`location`(URL 操作)、`history`(历史记录)、`navigator`(浏览器信息)、`screen`(屏幕信息); 3. 存储优先用 `localStorage/sessionStorage`,注意序列化和存储限制; 4. 定时器需及时清除,高频事件加防抖,避免性能问题; 5. 窗口操作受浏览器权限限制,优先保证用户交互触发; 6. BOM 与 DOM 协同工作:DOM 操作页面内容,BOM 控制浏览器环境。 -- Gitee From cbf795faebe4d31707b542273faf5eec10cd5367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= <1409177310@qq.com> Date: Mon, 22 Dec 2025 06:45:39 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2025.12.15.md" | 81 +++++++++++++ .../2025.12.17.md" | 83 +++++++++++++ .../2025.12.18.md" | 113 ++++++++++++++++++ .../2025.12.19 - JsJQuery.md" | 97 +++++++++++++++ 4 files changed, 374 insertions(+) create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.15.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.17.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.18.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.19 - JsJQuery.md" diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.15.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.15.md" new file mode 100644 index 0000000..a46b2ef --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.15.md" @@ -0,0 +1,81 @@ +# 笔记 + +## 1 题目描述: 声明三个变量分别存储一个学生的姓名(字符串)、年龄(数字)、是否及格(布尔值),然后分别输出这三个变量的值和类型 +```html + + +``` + +## 17 完成如下任务 题目描述: 比较 $ 和 jQuery 的使用,验证它们是同一个对象 +```html + + +``` + +## 18 完成如下任务 题目描述: 使用 jQuery 获取 id 为 "demo" 的元素,并输出该元素的 jQuery 对象 +```html +//
演示内容
+ +$(function(){ + let demo=$("#demo"); + console.log(demo); +}) + +``` + +## 19 完成如下任务 题目描述: 理解 jQuery 对象和原生 DOM 对象的区别,实现两者之间的转换 +```html + + + +
初始内容
+ + + +``` + +## 20 完成如下任务 题目描述: 使用 jQuery 的链式调用,一次性完成多个操作 +```html +//
内容
+// 输出示例: $('#box').css('color', 'red').addClass('active').fadeIn() + + + + +
内容
+ + +``` -- Gitee From f097c96e13d1581da56f584589f35b1eca4e7161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= <1409177310@qq.com> Date: Sun, 28 Dec 2025 21:42:07 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E6=9D=8E=E5=AE=B6=E5=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2025.12.22.md" | 50 ++++++ .../2025.12.24.md" | 143 ++++++++++++++++++ .../2025.12.25.md" | 135 +++++++++++++++++ .../2025.12.26.md" | 122 +++++++++++++++ 4 files changed, 450 insertions(+) create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.22.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.24.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.25.md" create mode 100644 "\346\235\216\345\256\266\345\222\214/2025.12.26.md" diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.22.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.22.md" new file mode 100644 index 0000000..9b14962 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.22.md" @@ -0,0 +1,50 @@ +- 16 + +``` +console.log(+'123'); +console.log(-'45'); +console.log(!!'hello'); +``` +- 17 + +``` +const val = NaN; + + console.log('NaN === NaN ', val === val); + console.log('isNaN(NaN) ', isNaN(val)); + console.log('Number.isNaN(NaN) ', Number.isNaN(val)); +``` +- 18 + +``` +const a = 5.8; +const b = 7; + +console.log(`~~${a} = ${~~a} (取整)`); +console.log(`${b} & 1 = ${b & 1} (奇偶,1为奇)`); +``` +- 19 + +``` +const score = 85; +const level = score >= 60 ? '及格' : '不及格'; +console.log('level:', level); + +``` +- 20 + +``` +function cj(score) { + if (score >= 90) { + return '优秀'; + } else if (score >= 80) { + return '良好'; + } else if (score >= 60) { + return '及格'; + } else { + return '不及格'; + } +} + +console.log(cj(85)); +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.24.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.24.md" new file mode 100644 index 0000000..160d124 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.24.md" @@ -0,0 +1,143 @@ +21 + +``` + + + + + + + + + + +``` +- 22 + +``` + + + + + + + + + + + + + +``` +- 23 + +``` + + + + + + + + + + + + + +``` +- 24 + +``` + + + + + + + + + + + + + +``` +- 25 + +``` + + + + + + + + + + + + + +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.25.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.25.md" new file mode 100644 index 0000000..144d2ac --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.25.md" @@ -0,0 +1,135 @@ + 26 + +``` + + + + + + + + + + + + + +``` +- 27 + +``` + + + + + + + + + + + + + +``` +- 28 + +``` + + + + + + + + + + + + + +``` +- 29 + +``` + + + + + + + + + + + + + +``` +- 30 + +``` + + + + + + + + + + + + + +``` \ No newline at end of file diff --git "a/\346\235\216\345\256\266\345\222\214/2025.12.26.md" "b/\346\235\216\345\256\266\345\222\214/2025.12.26.md" new file mode 100644 index 0000000..13767c0 --- /dev/null +++ "b/\346\235\216\345\256\266\345\222\214/2025.12.26.md" @@ -0,0 +1,122 @@ + +- 31 + +``` + + + + + + 猜数字游戏 + + + + + + + +``` +- 32 + +``` + + + + + + + + + + + + + +``` +- 33 + +``` + + + + + + + + + + + + + +``` +- 34 + +``` + + + + + + + + + + + + + +``` +- 35 + +``` +function findDuplicates(arr) { + const seen = new Set(); + const dup = new Set(); + for (const v of arr) { + if (seen.has(v)) dup.add(v); + else seen.add(v); + } + return [...dup]; +} + + +console.log(findDuplicates([1, 2, 4, 4, 3, 3, 1, 5, 3])); +``` \ No newline at end of file -- Gitee