JavaScript(Web APIs)
这个阶段两天也能看完
目录
壹_DOM-获取元素
00、获取DOM元素(根据CS选择器来获取DOM元素)
01、修改元素内容
02、修改CSS
03、H5自定义属性
04、定时器
贰_DOM-事件基础
00、事件监听
01、事件类型
02、事件对象
03、环境对象
04、回调函数
叁_DOM-事件进阶
00、事件流
01、事件解绑
02、阻止默认行为
03、其他事件类型
04、元素的尺寸与位置(属性)
肆_DOM-节点操作
00、日期对象
01、节点操作
02、M端事件
03、JS插件
伍_BOM-操作浏览器
00、JS执行机制
01、location对象的常用属性和方法
02、navigator对象的常见属性
03、history对象的常见方法
04、本地存储
05、利用方法map()和join()拼接字符串
陆_正则表达式
00、语法
01、元字符(特殊字符)
02、修饰符
壹_DOM-获取元素
00、获取DOM元素(根据CS选择器来获取DOM元素)
1>选择匹配的第一个元素
document.querySelector('css选择器')【返回CSS选择器匹配的第一个对象】
2>选择匹配的多个元素
document.querySelectorAll('css选择器')【返回CSS选择器匹配的对象集合】
3>css选择器补充知识(优先级逐渐升高)
type选择器:标签名
class选择器: .类名
id选择器:#i
01、修改元素内容
obj.innerText=值【只识别文本】
obj.innerHTML=值【会识别标签】
02、修改CSS
1>通过style属性:obj.style.样式属性=值
2>通过类名(className)
obj.className=css类名
【让对象的类指向写好的CSS代码;css类名会覆盖之前的类名,css类名可以有多个】
3>通过classList【避免直接通过类名修改会覆盖之前的类】
obj.classList.add('类名')【追加类】
obj.classList.remove('类名')【删除类】
obj.classList.toggle('类名')【切换类,有则删、无则加】
03、H5自定义属性
1>html5推出自定义属性:data-
2>查询标签自定义属性:
obj.dataset或obj.dataset.属性名【后者的属性名为data-后面的部分】
04、定时器
1>开启定时器
setInterval(函数名,间隔时间)【间歇函数】
setTimeout(回调函数,等待时间)【延时函数】
【间隔时间以毫秒为单位1s=1000ms】
【定时器返回一个id数字】
2>关闭定时器【关闭指定id的定时器】
clearInterval(定时器id)
clearTimeout(定时器id)
贰_DOM-事件基础
00、事件监听
obj.addEventListener('事件类型',要执行的函数)
【addEventListener可多次绑定一个对象的同一事件,对象发生一个事件会产生多个效果】
01、事件类型
1>鼠标事件
click鼠标点击
mouseenter鼠标经过
mouseleave鼠标离开
2>焦点事件(表单获得光标)
focus获得焦点
blur失去焦点
3>键盘事件
Keydqwn键盘按下触发
Keyup键盘抬起触发
4>文本事件
input用户输入事件
02、事件对象
事件绑定的函数的第一个参数就是事件对象
一般命名为event、ev、e
03、环境对象
定义:函数内部特殊的变量 this,指向一个对象
原则:谁调用,this就是谁
04、回调函数
定义:将函数 A做为参数传递给函数 B,称函数A为回调函数
叁_DOM-事件进阶
00、事件流
事件流定义:事件执行过程中的流动路径,分为捕获阶段和冒泡阶段
事件冒泡:一个元素触发事件后,会依次向上调用所有父级元素的同名事件
阻止冒泡:obj.stopPropagation()【阻止上级触发事件;写在监听函数中,obj用e替代】
01、事件解绑
obj.removeEventListener('事件类型',要执行的函数)【匿名函数无法解绑】
02、阻止默认行为
obj.preventDefault()【写在监听函数中,obj用e替代】
03、其他事件类型
1>等待加载:load等待对象加载完毕
2>元素滚动:scroll滚动
获取位置:属性scrollLeft和scrollTop表示内容往左(上)滚出去看不到的距离
获取html对象:document.documentElement【网页滚动,是html对象在滚动】
3>页面尺寸:resize页面尺寸改变
04、元素的尺寸与位置(属性)
client-系列属性(不包含边框)
offset-系列属性(包含边框)(eg. offsetTop上边距)
肆_DOM-节点操作
00、日期对象
1>实例化:const date=new Date()
2>常用方法:
.getFullYear()【年份】
.getMonth()【0~11】
.getDate()【一个月中的第几天】
.getDay()【0~6】
.getHours/Minutes/seconds()【0~23/59】
3>时间戳:
定义:1970年1月1日0时0分0秒至今的毫秒数,是一种特殊的计时方式
获取方式:时间戳=+new Date()【实参传入时间可以获取指定时间戳】
01、节点操作
1>DOM节点类型:元素节点(重点)、属性节点、文本节点
2>查找节点
父节点:子节点.parentNode
子节点:父节点.children【获得所有元素节点,返回一个伪数组】
兄弟节点:节点.nextElementSibling、节点.previousElementSibling【下(上)一个兄弟节点】
3>增加节点
创建节点:document.createElement('标签名')
追加节点:
父节点.appendchild(要插入的元素)【追加在父节点的子结点队尾】
父节点.insertBefore(要插入的元素,在哪个元素前)【追加在指定子结点前面】
克隆节点:节点.cloneNode(布尔值)【默认为false,代表克隆时不包含后代节点和标签内容】
4>删除节点:父元素.removeChild(要删除的元素)
02、M端事件
touch触屏
-start【手指触摸到一个 DOM 元素时触发】
-move【手指在一个 DOM 元素上滑动时触发】
-end【手指从一个 DOM 元素上移开时触发】
03、JS插件
Swiper滑动特效插件
伍_BOM-操作浏览器
00、JS执行机制
同步:任务按顺序执行
异步:任务并发执行
01、location对象的常用属性和方法
location.href【URL地址,对其赋值可跳转页面】
location.search【地址中的参数,?后的部分】
location.hash【地址中的哈希值,#后的部分】
location.reload()【刷新页面,传入参数true表示强制刷新】
02、navigator对象的常见属性
通过userAgent属性检测浏览器的版本与平台
03、history对象的常见方法
.back()
.forward()
.go()【参数为正数表示前进】
04、本地存储
1>注意:本地存储只能存储字符串
2>常用方法
localStorage.setltem(key,value)【存/改】
localStorage.getItem(key)【取】
localStorage. removeItem(key)【删】
3>存储复杂数据类型
JSON.stringify(复杂数据类型)【将复杂数据类型转换成JSON字符串,再存储到本地】
JSON.parse(JSON字符串)【将JSON字符串转换成复杂数据类型】
05、利用方法map()和join()拼接字符串
1>map
定义:遍历处理数组数据,返回新数组
使用:arr.map(function(ele,index)return 修改后的数组元素)
2>join
定义:把数组全部元素转换成一个字符串
使用:arr.join(字符串)【字符串作为返回值各元素间分隔符,默认逗号分隔】
陆_正则表达式
00、语法
1>声明:const 变量=/正则表达式/
2>匹配
变量.test(被检查字符串)【返回布尔值】
变量.exec(被检查字符串)【返回数组】
01、元字符(特殊字符)
1>边界符【必须用什么开头/结尾】
^e【以e开头】
e$【以e结尾】
2>量词【表示重复次数】
*【重复次数∈[0,+∞)】
+【重复次数∈[1,+∞)】
?【重复次数∈[0,1]】
{n}【重复次数=n】
{n,}【重复次数∈[n,+∞)】
{n,m}【重复次数∈[n,m]】
3>字符类
[] 匹配字符集合【匹配括号中任意一个字符即可】
[a-z]【表示全部小写字母】
[^a-z]【表示除了小写字母以外的字符】
预定义:某些常见模式的简写方式【大写表示取反】
\d:[0-9]
\w:[A-Za-z0-9_]
\s:[\t\r\n\v\f]
4>精确匹配
^e$【以同一个e开头结尾】
^e+量词$【以e开头e结尾,中间不能有别的】
02、修饰符
1>语法:/正则表达式/修饰符
2>分类:
i:匹配时字母不区分大小写
g:匹配所有满足正则表达式的结果
相关文章:
JavaScript(Web APIs)
这个阶段两天也能看完 目录 壹_DOM-获取元素 00、获取DOM元素(根据CS选择器来获取DOM元素) 01、修改元素内容 02、修改CSS 03、H5自定义属性 04、定时器 贰_DOM-事件基础 00、事件监听 01、事件类型 02、事件对象 03、环境对象 04、回调函数 叁_DOM-事…...
Global top sap abap 和deepseek对话,测试其abap推理能力
我提交给deepseek一段代码 FUNCTION zXXX_hr_pafm_pannnn_up. *"---------------------------------------------------------------------- *"*"Local Interface: *" IMPORTING *" VALUE(IS_PRELP) TYPE PRELP OPTIONAL *" VALUE(IV…...
Android DUKPT - 3DES
一、DUKPT概述 DUKPT 即Derived Unique Key Per Transaction(每个事务的派生唯一密钥)。ANSI X9.24规范定义的密钥管理体系,主要用于对称密钥加密场景(如MAC、PIN等敏感数据保护)。通过动态生成唯一交易密钥ÿ…...
机器学习数学基础:45.多重响应分析
多重响应分析超详细教程:手把手教你分析多选题数据 一、深入理解多重响应分析的背景 问卷调查中,问题分为单选题与多选题: 单选题:如“你的性别?1.男 2.女”,答题者仅选一个选项,分析时直接统…...
《苍穹外卖》SpringBoot后端开发项目核心知识点与常见问题整理(DAY1 to DAY3)
目录 一、在本地部署并启动Nginx服务1. 解压Nginx压缩包2. 启动Nginx服务3. 验证Nginx是否启动成功: 二、导入接口文档1. 黑马程序员提供的YApi平台2. YApi Pro平台3. 推荐工具:Apifox 三、Swagger1. 常用注解1.1 Api与ApiModel1.2 ApiModelProperty与Ap…...
企业安全—对数据和资产进行识别和分类
0x00 前言 针对数据和资产的保护刻不容缓,这个是每一个做企业安全建设不容放过的一环,那么在识别数据和资产已经对这些数据分类就是必须要了解和掌握的内容。 这里不仅是针对商业机密,还有用户数据,前者在于保护公司利益&#x…...
QT系列教程(20) Qt 项目视图便捷类
视频连接 https://www.bilibili.com/video/BV1XY41127t3/?vd_source8be9e83424c2ed2c9b2a3ed1d01385e9 Qt项目视图便捷类 Qt项目视图提供了一些便捷类,包括QListWidget, QTableWidget, QTreeWidget等。我们分别介绍这几个便捷类。 我们先创建一个Qt …...
Spring Boot 调用DeepSeek API的详细教程
目录 前置准备步骤1:创建Spring Boot项目步骤2:配置API参数步骤3:创建请求/响应DTO步骤4:实现API客户端步骤5:创建控制器步骤6:异常处理步骤7:测试验证单元测试示例Postman测试请求 常见问题排查…...
动态扩缩容引发的JVM堆内存震荡:从原理到实践的GC调优指南
目录 一、典型案例:系统发布后的GC雪崩事件 (一)故障现象 1. 刚刚启动时 GC 次数较多 2. 堆内存锯齿状波动 3. GC日志特征:Allocation Failure (二)问题定位 二、原理深度解析:JVM内存弹…...
AI智能眼镜主控芯片:技术演进与产业生态的深度解析
一、AI智能眼镜的技术挑战与主控芯片核心诉求 AI智能眼镜作为XR(扩展现实)技术的代表产品,其核心矛盾在于性能、功耗与体积的三角平衡。主控芯片作为设备的“大脑”,需在有限空间内实现复杂计算、多模态交互与全天候续航…...
微服务拆分-远程调用
我们在查询购物车列表的时候,它有一个需求,就是不仅仅要查出购物车当中的这些商品信息,同时还要去查到购物车当中这些商品的最新的价格和状态信息,跟购物车当中的快照进行一个对比,从而去提醒用户。 现在我们已经做了服…...
[网络爬虫] 动态网页抓取 — Selenium 介绍 环境配置
🌟想系统化学习爬虫技术?看看这个:[数据抓取] Python 网络爬虫 - 学习手册-CSDN博客 0x01:Selenium 工具介绍 Selenium 是一个开源的便携式自动化测试工具。它最初是为网站自动化测试而开发的,类似于我们玩游戏用的按…...
【RAGFlow】windows本地pycharm运行
原因 由于官方只提供了docker部署,基于开源代码需要实现自己内部得逻辑,所以需要本地pycharm能访问,且docker运行依赖得其余组件,均需要使用开发服务器得配置。 修改过程 安装python 项目依赖于Python 版本:>3.1…...
git子仓库管理的两种方式
在团队协作中选择使用 Git Submodule 还是 Git Subtree 取决于项目的需求和团队的工作方式。以下是两者的对比和适用场景分析,帮助你做出选择: Git Submodule 优点 独立性高 子模块是一个独立的仓库,拥有自己的提交历史和分支。这使得子模…...
树莓派5首次开机保姆级教程(无显示器通过VNC连接树莓派桌面)
第一次开机详细步骤 步骤一:树莓派系统烧录1 搜索打开烧录软件“Raspberry Pi Imager”2 选择合适的设备、系统、SD卡3 烧录配置选项 步骤二:SSH远程树莓派1 树莓派插电2 网络连接(有线或无线)3 确定树莓派IP地址 步骤三ÿ…...
html-表格标签
一、表格标签 1. 表格的主要作用 表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据 的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。 总…...
大模型安全新范式:DeepSeek一体机内容安全卫士发布
2月以来,DeepSeek一体机几乎成为了政企市场AI消费的最强热点。 通过一体机的方式能够缩短大模型部署周期,深度结合业务场景,降低中小企业对于大模型的使用门槛。据不完全统计,已约有超过60家企业基于DeepSeek推出一体机产品。 但…...
数据分析绘制随时间顺序变化图加入线性趋势线——numpy库的polyfit计算一次多项式拟合
import pandas as pd import numpy as np import matplotlib.pyplot as plt# 导入数据 data pd.read_csv(rC:\Users\11712\notebooktrain1.csv)# 假设数据包含 date_time 和 speed 列 data[date_time] pd.to_datetime(data[date_time]) # 确保时间列是 datetime 类型 data.s…...
密闭空间可燃气体监测终端:守护城市命脉,智驭燃气安全!
近年来,陕西省高度重视燃气安全,出台了一系列政策文件,旨在全面加强城镇燃气安全监管,防范化解重大安全风险。2023年,陕西省安委会印发《全省城镇燃气安全专项整治工作方案》,明确要求聚焦燃气经营、输送配…...
阿里千问大模型(Qwen2.5-VL-7B-Instruct)部署
参考链接 知乎帖子 B站视频 huggingface 镜像网站(不太全,比如 Qwen/Qwen2.5-VL-7B-Instruct就没有) huggingface 5种下载方式汇总 通过huggingface-cli下载模型 不一样的部分是预训练权重的下载和demo 首先安装huggingface_hub pip insta…...
【人工智能】随机森林的智慧:集成学习的理论与实践
随机森林(Random Forest)是一种强大的集成学习算法,通过构建多棵决策树并结合投票或平均预测提升模型性能。本文深入探讨了随机森林的理论基础,包括决策树的构建、Bagging方法和特征随机选择机制,并通过LaTeX公式推导其偏差-方差分解和误差分析。接着,我们详细描述了随机…...
Javascript基础语法详解
面向对象的语言.脚本语言,不需要编译,浏览器解释即可运行 .用于控制网页的行为.浏览器的source可以打断点调试, console输入代码可以执行 use strict指令: 在“严格模式”下运行js代码, 防止意外创建全局变量等, 提高代码安全性和执行效率. 使用: 全局严格模式:…...
前端状态管理 pinia和vuex高频面试题
前端状态管理 Pinia 和 Vuex 是 Vue 生态中常用的状态管理方案,在面试中经常涉及 基本概念、对比、最佳实践、性能优化 等多个方面。以下是 高频面试题 详细答案,共 20 题,助你轻松应对面试!🚀 🔥 基础概念…...
【Go学习实战】03-3-文章评论及写文章
【Go学习实战】03-3-文章评论及写文章 文章评论注册valine获取凭证加载评论页面 写文章修改cdn位置完善功能查看页面 发布文章POST发布文章发布文章测试 查询文章详情查询详情测试 修改文章修改文章测试 写文章图片上传前端后端逻辑测试 文章评论 这里我们的博客因为是个轻量级…...
从零开始用AI开发游戏(一)
1. 核心玩法设计 核心目标:玩家需在随机生成的3D迷宫中寻找出口,躲避陷阱、收集道具、解开谜题。核心机制: 随机生成迷宫:每次游戏生成不同结构的迷宫(递归分割算法或深度优先搜索)。第一人称视角…...
AI-大模型中的流式输出与非流式输出
1.前言 在大模型API开发中,流式与非流式输出对应着两种不同的数据交互,在代码中stream中通过参数true与false来进行设定。 2.流式输出与非流式输出的原理 2.1.非流式输出-请求一次响应返回完整数据 非流式输出,传统的请求-响应模式…...
【HarmonyOS Next】鸿蒙加固方案调研和分析
【HarmonyOS Next】鸿蒙加固方案调研和分析 一、前言 根据鸿蒙应用的上架流程,本地构建app文件后,上架到AGC平台,平台会进行解析。根据鸿蒙系统的特殊设置,仿照IOS的生态闭环方案。只能从AGC应用市场下载app进行安装。这样的流程…...
树莓集团现状最新进展:宜宾园区业务有何新突破
树莓集团宜宾园区在当下取得了令人瞩目的最新进展和新突破。在技术创新方面,园区加大研发投入,成功攻克了多项关键技术难题。 例如,在人工智能图像识别技术上取得重大突破,该技术已应用于园区内的智能安防系统和工业生产检测环节…...
蓝桥杯javaB组备战第二天 题目 区间次方和 编号3382
这是一个前缀和问题,但是不同于以为前缀和问题 前缀和问题求解思路: 创建一个前缀数组 s[] ,存储输入的元素的a[1]到a[n]的和 及:s[1] s[i-1]a[i] ,i>1 这样比暴力算法的复杂度要低很多可以将 时间复杂度从O(q*n*m)下降到 O(n*mq) …...
SpringBoot设置过滤器(Filter)或拦截器(Interceptor)的执行顺序:@Order注解、setOrder()方法
Java Web 过滤器、拦截器、监听器,系列文章: (1)过滤器(Filter)的使用: 《Servlet过滤器(Filter)的使用:Filter接口、@WebFilter注释》 《SpringMVC使用过滤器(Filter)解决中文乱码》 《SpringBoot过滤器(Filter)的使用:Filter接口、FilterRegistrationBean类配…...
