From a0e5189976ec22e7dd9836bcd96abc1ffcf20570 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B9=B2=E7=BA=AF=E6=AC=A3?= <1759931586@qq.com>
Date: Tue, 26 Nov 2024 00:15:56 +0800
Subject: [PATCH] 20241126
---
.../README.md" | 374 ++++++++++++++++++
.../css/index.css" | 115 ++++++
.../iconfont/iconfont.css" | 23 ++
.../iconfont/iconfont.ttf" | Bin 0 -> 2044 bytes
.../iconfont/iconfont.woff" | Bin 0 -> 1316 bytes
.../iconfont/iconfont.woff2" | Bin 0 -> 920 bytes
...\350\241\250\346\241\210\344\276\213.html" | 158 ++++++++
7 files changed, 670 insertions(+)
create mode 100644 "\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/README.md"
create mode 100644 "\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/css/index.css"
create mode 100644 "\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.css"
create mode 100644 "\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.ttf"
create mode 100644 "\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.woff"
create mode 100644 "\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.woff2"
create mode 100644 "\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/\345\255\246\347\224\237\345\260\261\344\270\232\347\273\237\350\256\241\350\241\250\346\241\210\344\276\213.html"
diff --git "a/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/README.md" "b/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/README.md"
new file mode 100644
index 0000000..36adf73
--- /dev/null
+++ "b/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/README.md"
@@ -0,0 +1,374 @@
+# Web APIs - 第5天笔记
+
+> 目标: 能够利用JS操作浏览器,具备利用本地存储实现学生就业表的能力
+
+- BOM操作
+- 综合案例
+
+
+## js组成
+
+JavaScript的组成
+
+- ECMAScript:
+ - 规定了js基础语法核心知识。
+ - 比如:变量、分支语句、循环语句、对象等等
+
+
+- Web APIs :
+ - DOM 文档对象模型, 定义了一套操作HTML文档的API
+ - BOM 浏览器对象模型,定义了一套操作浏览器窗口的API
+
+ 
+
+## window对象
+
+**BOM** (Browser Object Model ) 是浏览器对象模型
+
+- window对象是一个全局对象,也可以说是JavaScript中的顶级对象
+- 像document、alert()、console.log()这些都是window的属性,基本BOM的属性和方法都是window的
+- 所有通过var定义在全局作用域中的变量、函数都会变成window对象的属性和方法
+- window对象下的属性和方法调用的时候可以省略window
+
+ 
+
+## 定时器-延迟函数
+
+JavaScript 内置的一个用来让代码延迟执行的函数,叫 setTimeout
+
+**语法:**
+
+~~~JavaScript
+setTimeout(回调函数, 延迟时间)
+~~~
+
+setTimeout 仅仅只执行一次,所以可以理解为就是把一段代码延迟执行, 平时省略window
+
+间歇函数 setInterval : 每隔一段时间就执行一次, , 平时省略window
+
+清除延时函数:
+
+~~~JavaScript
+clearTimeout(timerId)
+~~~
+
+>注意点
+>
+>1. 延时函数需要等待,所以后面的代码先执行
+>2. 返回值是一个正整数,表示定时器的编号
+
+~~~html
+
+
+
+~~~
+
+## location对象
+
+location (地址) 它拆分并保存了 URL 地址的各个组成部分, 它是一个对象
+
+| 属性/方法 | 说明 |
+| --------- | ---------------------------------------------------- |
+| href | 属性,获取完整的 URL 地址,赋值时用于地址的跳转 |
+| search | 属性,获取地址中携带的参数,符号 ?后面部分 |
+| hash | 属性,获取地址中的啥希值,符号 # 后面部分 |
+| reload() | 方法,用来刷新当前页面,传入参数 true 时表示强制刷新 |
+
+~~~html
+
+
+ 音乐
+ 下载
+
+
+
+
+~~~
+
+## navigator对象
+
+navigator是对象,该对象下记录了浏览器自身的相关信息
+
+常用属性和方法:
+
+- 通过 userAgent 检测浏览器的版本及平台
+
+~~~javascript
+// 检测 userAgent(浏览器信息)
+(function () {
+ const userAgent = navigator.userAgent
+ // 验证是否为Android或iPhone
+ const android = userAgent.match(/(Android);?[\s\/]+([\d.]+)?/)
+ const iphone = userAgent.match(/(iPhone\sOS)\s([\d_]+)/)
+ // 如果是Android或iPhone,则跳转至移动站点
+ if (android || iphone) {
+ location.href = 'http://m.itcast.cn'
+ }})();
+~~~
+
+## histroy对象
+
+history (历史)是对象,主要管理历史记录, 该对象与浏览器地址栏的操作相对应,如前进、后退等
+
+**使用场景**
+
+history对象一般在实际开发中比较少用,但是会在一些OA 办公系统中见到。
+
+ 
+
+常见方法:
+
+ 
+
+~~~html
+
+
+
+
+
+
+~~~
+
+## 本地存储(今日重点)
+
+本地存储:将数据存储在本地浏览器中
+
+常见的使用场景:
+
+ 页面刷新数据不丢失
+
+好处:
+
+1、页面刷新或者关闭不丢失数据,实现数据持久化
+
+2、容量较大,sessionStorage和 localStorage 约 5M 左右
+
+### localStorage(重点)
+
+**作用:** 数据可以长期保留在本地浏览器中,刷新页面和关闭页面,数据也不会丢失
+
+**特性:**以键值对的形式存储,并且存储的是字符串, 省略了window
+
+
+
+~~~html
+
+
+
+
+
+
+
+ 本地存储-localstorage
+
+
+
+
+
+
+
+~~~
+
+### sessionStorage(了解)
+
+特性:
+
+- 用法跟localStorage基本相同
+- 区别是:当页面浏览器被关闭时,存储在 sessionStorage 的数据会被清除
+
+存储:sessionStorage.setItem(key,value)
+
+获取:sessionStorage.getItem(key)
+
+删除:sessionStorage.removeItem(key)
+
+### localStorage 存储复杂数据类型
+
+**问题:**本地只能存储字符串,无法存储复杂数据类型.
+
+**解决:**需要将复杂数据类型转换成 JSON字符串,在存储到本地
+
+**语法:**JSON.stringify(复杂数据类型)
+
+JSON字符串:
+
+- 首先是1个字符串
+- 属性名使用双引号引起来,不能单引号
+- 属性值如果是字符串型也必须双引号
+
+~~~html
+
+
+
+~~~
+
+
+
+**问题:**因为本地存储里面取出来的是字符串,不是对象,无法直接使用
+
+**解决: **把取出来的字符串转换为对象
+
+**语法:**JSON.parse(JSON字符串)
+
+~~~html
+
+
+
+~~~
+
+## 综合案例
+
+### 数组map 方法
+
+**使用场景:**
+
+map 可以遍历数组处理数据,并且返回新的数组
+
+**语法:**
+
+~~~javascript
+
+
+
+~~~
+
+>map 也称为映射。映射是个术语,指两个元素的集之间元素相互“对应”的关系。
+>
+>map重点在于有返回值,forEach没有返回值(undefined)
+
+### 数组join方法
+
+**作用:**join() 方法用于把数组中的所有元素转换一个字符串
+
+**语法:**
+
+~~~html
+
+
+
+~~~
+
+
+
+
+
+
+
+
+
diff --git "a/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/css/index.css" "b/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/css/index.css"
new file mode 100644
index 0000000..15f6a74
--- /dev/null
+++ "b/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/css/index.css"
@@ -0,0 +1,115 @@
+* {
+ margin: 0;
+ padding: 0;
+}
+
+a {
+ text-decoration: none;
+ color: #721c24;
+}
+
+h1 {
+ text-align: center;
+ color: #333;
+ margin: 20px 0;
+
+}
+
+.title {
+ width: 933px;
+ height: 50px;
+ line-height: 50px;
+ padding-right: 15px;
+ border: 1px solid #ebebeb;
+ margin: 10px auto;
+ background-color: #f2f2f2;
+ text-align: right;
+}
+
+.title span {
+ display: inline-block;
+ vertical-align: middle;
+ height: 20px;
+ margin: -3px 5px 0;
+ text-align: center;
+ line-height: 20px;
+ color: #f26934;
+ font-weight: 700;
+}
+
+table {
+ margin: 0 auto;
+ width: 950px;
+ border-collapse: collapse;
+ color: #3c3637;
+}
+
+th {
+ padding: 10px;
+ background: #f2f2f2;
+ font-size: 18px;
+ text-align: left;
+}
+
+td,
+th {
+ border: 1px solid #ebebeb;
+ padding: 15px;
+}
+
+td {
+
+ color: #666;
+ font-size: 16px;
+
+}
+
+tbody tr {
+ background: #fff;
+}
+
+tbody tr:hover {
+ background: #fbfafa;
+}
+
+tbody a {
+ display: inline-block;
+ width: 80px;
+ height: 30px;
+ text-align: center;
+ line-height: 30px;
+ color: #fff;
+ background-color: #f26934;
+}
+
+.info {
+ width: 900px;
+ margin: 50px auto;
+ text-align: center;
+}
+
+.info input,
+.info select {
+ width: 100px;
+ height: 30px;
+ outline: none;
+ border: 1px solid #ebebeb;
+ padding-left: 5px;
+ box-sizing: border-box;
+ margin-right: 10px;
+}
+
+.info button {
+ width: 70px;
+ height: 30px;
+ background-color: #5dbfd8;
+ outline: none;
+ border: 0;
+ color: #fff;
+ cursor: pointer;
+ font-size: 14px;
+}
+
+.info button:hover {
+ background-color: #52abc1;
+}
\ No newline at end of file
diff --git "a/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.css" "b/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.css"
new file mode 100644
index 0000000..1802c2d
--- /dev/null
+++ "b/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.css"
@@ -0,0 +1,23 @@
+@font-face {
+ font-family: "iconfont"; /* Project id 3873122 */
+ src: url('iconfont.woff2?t=1675070457031') format('woff2'),
+ url('iconfont.woff?t=1675070457031') format('woff'),
+ url('iconfont.ttf?t=1675070457031') format('truetype');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-shanchu:before {
+ content: "\e718";
+}
+
+.icon-tianjia:before {
+ content: "\e6de";
+}
+
diff --git "a/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.ttf" "b/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.ttf"
new file mode 100644
index 0000000000000000000000000000000000000000..978d156764de22c6e963066d227697ef2eb3b7c4
GIT binary patch
literal 2044
zcmd^A&u<$=7=5$rtXsR-PV6LYqlS$GHl&r4E{+pw2O&z6Rv=L|X_NzkZ0+@r;9s&g
zQNk$_2vLEchgJ&W$OWVxdIBMe)Jw$$p@<6-LTOJ85+GGVNL=FZX1%VGwEqEP&&>PY
zyziU&W@mOG0Qj*E6=O5AmtWC8diGsFOp={@V|LWY{C(kf+8@(i%vQ|$QvT7fa*
zmD%hqs>6`|*EjDb?o*`
zK8)cdD6dYxK8HZrw5vES7vU7?zZZ*gsbDgG+f#5%jtVjYn#+1T5ZC04%2nk@a-X()
z@dpe+PX%2n*(a2X`Exnkd9by8)Y%WHzhRxS{kx&a2|JZgW+vmEYSZE^SHD13dY)p>
zjLCZ(jmBO;k+bY_7dkzaG6R`|BK?F!|M${9=Fhp?z|-?!t6k;!+UDt&)!Ah!k$1p3
zXR4{(M=zd62InzH!SHx8c2Y#O6Jj{3MfzSCGE&Ld(0DSH7DnF*(I3@%yCd50P&78)
zos2n_BO32c2=Rz9QWJZydVXVMaC2~E!xsqnlxu8TiGXj@7g#wQJQi+!-ZK!01X6L4
zkEcYi^?fiL2!w-Qvl1zblY=88gOgP7KPe+jE(Uz98$AQZ!{Qxjw{FB!^d@d?h>H$$
zOSXHk%$Wyq_pbUKZ(Rh><3(KHfsDpu@mO*qHIXv<`}+GLUd^k;4QVIkNL1PpIU<kHI>d49(KTLVPW1#CXM-ppE^LqTi1P|pkI{z
zq0l`M^n3jw5n>xm?{jrxyu8oVi6Kgki{o)qlx3*ab%v7p0X^7y^n}B-+qY5P_^^u=
zcroB&m3-929^w%fck%6PxL6}UxW*2OCM
zA6)Dq{>8;z=)<;)HS#+y_F-N;jrC`{0Ue7mb6@8lVta7=g*BiAZD{Ci;wp~9nIx6Rp
zd?H(`;4B)j__46r=Ah#W*4UPiMGaNtoz{NLzC?8a%P7;c@!04=?|G^lXi_I*>Nt%A
zU-<`BGgMU_<-yf7vBKF5uF>X-bk+tVRfwkD^;uj=nONrolw(VblchR=qT^M^8I1DR
p$)}@FIC)m&JGWirx9Lem6^c-W2i|7UtY(YLUb|#gmr5qJ{{aojEXn`?
literal 0
HcmV?d00001
diff --git "a/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.woff" "b/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.woff"
new file mode 100644
index 0000000000000000000000000000000000000000..245803ee03a4b2912429c2ec656c235fd0718778
GIT binary patch
literal 1316
zcmXT-cXMN4WB>wI6$Wk)&He|%2eDCsdvK@|0|O%mP}CZTLlnAItNerYjeueZ|bsvFx*Y-B#hd}?DuCZ9rDa|aWH
znl-Bj14wUTV#1sQ2TmP0aOGr4TVvxwc_-t2X$DD87`lu$7#Sz9GG?yRFoir
z7w>eV{iK+UC-mN(;h=t~G-A~WWA7)ydo-UZ-3?#8_waMIo9kw%|6hJ+z3HoOeka$P
ze%N=Fv5G;+R#2&8PUwV#UWXk7+R}w~A7nAhoV+X}bBU&k#KQI+H{FsBChx7Ba4ESp
zNw9jFU0b^t*S;op|F|QI!(U3jQ2xQPdiTVx*s}Kb_h;58uxTmu*DbAelI43K!dAf9
zFt^9mU1E}0nbV`6$KOubykf3lT*9mE8w4j+T~(f2CXpH{Hg%QGsa3H@_RpX4{oh8r
z2-SmD9${)rmzC)+ei2lhduexU^?6bLt!iI2`afDd%jgcjz4Xe~`A;V=>HVzW*%T9Y
zV)kmjpEG79MP|R-U9oyg#IcxNs@$~pC02;0*GwJ9-uTH7B89{zjRBldeoO!$(6HCCFx{w5jy
zy>+0*N@`ip(!&>jvl)nSU*4!YC$jHzY6{Po
zoY>m_C)hDF2u3rO0L^QiXq$J)L7;X1!3iu=G`yCWWQJ*K2%Y>h#baf_g5?X?H$QXV
zc0EepXGnY413&
zxM1q9$s7FZ#MUkBoL4aS*Xjah{R-i{P07dj=G7lv(^{U$zx{{6x(96Y4~4#pKVc=-$oSC(iFLpzT-s|nRC%$mZ5aLN#XxN%O$2qZ0
z_A!?tPmqgiN&3$j?^w+`A~XM&`oGwAVx@dhs~%IyxftbLmkw20`S$6?zYZ)d(at+P
ztHoqW)LGA@O^^6(?yOzea)nu^dlgUZmYs`)>jTbA_``T(ay~G>B_|{`FzB(pX_z^&
kbK=a2t&MvvlnwPQ7f;!%Vr;0dZ9K7&k-_c*>lX$F0OqR{$N&HU
literal 0
HcmV?d00001
diff --git "a/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.woff2" "b/\345\271\262\347\272\257\346\254\243/2024.1125 \346\234\254\345\234\260\345\202\250\345\255\230/\347\273\274\345\220\210\346\241\210\344\276\213-\345\255\246\347\224\237\347\273\237\350\256\241\350\241\250/iconfont/iconfont.woff2"
new file mode 100644
index 0000000000000000000000000000000000000000..1f5c13a14971fffe970a081b8e91db71583d9dbf
GIT binary patch
literal 920
zcmV;J184kqPew8T0RR9100Wo+3jhEB00;a400T<^0RR9100000000000000000000
z0000SR0d!Gg9ZwNP=hi7HUcCA3=0SV1Rw>3X9qhQ69>p1k|Y6uWDSG}34jISf&cye
zx6i%z>D+;x#ML1-)UQUwsmgFjP#Y&WO`QM!cje_;AOq@Ju(CE?W^hGq(
zKZ(YsMNI9=pTH;GQwDRg<3vN2+IJ^`I<4Ec+AnhlI$?jgw|$vUrVv)NX-qr(P8CueHJmKidN%
zLG203x*Q=`FXeMk-Sj%Cbm
zC>Y}xiiY`zXipe?U2aY|IVvcYR6(^fq!HUiBcdnXAlixv#=B`
z+uyf>;u;K?5Mmo1!DT6tM@sUF0&G%eiF#hiEv{o+nItg?BcNbHCUg&FI5`{Qj4!IA
u2q{n9ka6@VgeWG}<
+
+
+
+
+
+
+ 学生就业统计表
+
+
+
+
+
+ 学生就业统计表
+
+
+ 共有数据0条
+
+
+
+ | ID |
+ 姓名 |
+ 年龄 |
+ 性别 |
+ 薪资 |
+ 就业城市 |
+ 录入时间 |
+ 操作 |
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
--
Gitee