JavaScript 学习笔记(WEB APIs Day2)

「写在前面」

本文为 b 站黑马程序员 pink 老师 JavaScript 教程的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。推荐先按顺序阅读往期内容:
1. JavaScript 学习笔记(Day1)
2. JavaScript 学习笔记(Day2)
3. JavaScript 学习笔记(Day3)
4. JavaScript 学习笔记(Day4)
5. JavaScript 学习笔记(Day5)
6. JavaScript 学习笔记(WEB APIs Day1)


目录

  • 1 事件监听(绑定)
  • 2 事件类型
  • 3 事件对象
  • 4 环境对象
  • 5 回调函数
  • 6 综合案例

1 事件监听(绑定)

1.1 事件监听

P94:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=94

什么是事件?

  • 事件是在编程时系统内发生的 动作或者发生的事情
  • 比如用户在网页上 单击一个按钮

什么是事件监听?

  • 就是让程序检测是否有事件产生,一旦有事件触发,就立即调用一个函数做出响应,也称为 绑定事件或者注册事件
  • 比如鼠标经过显示下拉菜单,比如点击可以播放轮播图等等

语法:

元素对象.addEventListener('事件类型', 要执行的函数)

事件监听三要素:

  • 事件源:哪个dom元素被事件触发了,要获取dom元素
  • 事件类型:用什么方式触发,比如鼠标单击 click、鼠标经过 mouseover 等
  • 事件调用的函数:要做什么事

例:

<button>按钮</button>
<script>
const btn = document.querySelector('button')
// 修改元素样式
btn.addEventListener('click', function () {
alert('点击了~')
})
</script>

注意:

  1. 事件类型要 加引号
  2. 函数是点击之后再去执行,每次点击都会执行一次

P95:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=95

alt

1.2 事件监听版本

P96:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=96

  • DOM L0

    • 事件源.on事件 = function() { }
  • DOM L2

    • 事件源.addEventListener(事件, 事件处理函数)
  • 区别:

    • on方式会被覆盖, addEventListener方式可绑定多次,拥有事件更多特性,推荐使用
  • 发展史:

    • DOM L0 :是 DOM 的发展的第一个版本; L:level
    • DOM L1:DOM级别1 于1998年10月1日成为W3C推荐标准
    • DOM L2:使用addEventListener注册事件
    • DOM L3: DOM3级事件模块在DOM2级事件的基础上重新定义了这些事件,也添加了一些新事件类型

2 事件类型

alt

案例:轮播图点击切换(鼠标事件)

alt

P97:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=97

P98:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=98

案例:小米搜索框(焦点事件)

alt

P99:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=99

案例:评论字数统计(键盘事件)

alt

P100:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=100

3 事件对象

3.1 获取事件对象

P101:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=101

事件对象是什么?

  • 也是个对象,这个对象里有事件触发时的相关信息
  • 例如:鼠标点击事件中,事件对象就存了鼠标点在哪个位置等信息

使用场景

  • 可以判断用户按下哪个键,比如按下回车键可以发布新闻
  • 可以判断鼠标点击了哪个元素,从而做相应的操作

语法:如何获取

  • 在事件绑定的回调函数的第一个参数就是事件对象
  • 一般命名为event、ev、e
元素.addEventListener('click', function (e) {
})

3.2 事件对象常用属性

部分常用属性:

  • type
    • 获取当前的事件类型
  • clientX/clientY
    • 获取光标相对于浏览器可见窗口左上角的位置
  • offsetX/offsetY
    • 获取光标相对于当前DOM元素左上角的位置
  • key
    • 用户按下的键盘键的值
    • 现在不提倡使用keyCode

例:

<input type="text">
<script>
const input = document.querySelector('input')
input.addEventListener('keyup', function (e) {
if (e.key === 'Enter') {
console.log('我按下了回车键')
}
})
</script>

P102:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=102

alt

4 环境对象

P103:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=103

环境对象:指的是函数内部特殊的变量 this,它代表着当前函数运行时所处的环境

作用:弄清楚this的指向,可以让我们代码更简洁

  • 函数的调用方式不同,this 指代的对象也不同
  • 【谁调用, this 就是谁】是判断 this 指向的粗略规则
  • 直接调用函数,其实相当于是 window.函数,所以 this 指代 window

例:

<button>点击</button>
<script>
const btn = document.querySelector('button')
btn.addEventListener('click', function () {
this.style.color = 'red'
})
</script>

5 回调函数

如果将函数 A 做为参数传递给函数 B 时,我们称函数 A 为回调函数

简单理解:当一个函数当做参数来传递给另外一个函数的时候,这个函数就是回调函数

常见的使用场景:

function fn() {
console.log('我是回调函数')
}
// fn传递给了setInterval,fn就是回调函数
setInterval(fn, 1000)
box.addEventListener('click', function () {
console.log('我也是回调函数')
})

6 综合案例

P104:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=104

alt

「结束」
alt

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/340810.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# 使用System.Threading.Timer 实现计时器

写在前面 以往一般都是用 System.Timers.Timer 来做计时器&#xff0c;而 System.Threading.Timer 也可以实现计时器功能&#xff0c;并且还可以配置首次执行间隔&#xff0c;在功能上比System.Timers.Timer更加丰富&#xff1b;根据这个特性就可以实现按指定时间间隔对委托进…

Postman如何做接口测试:如何导入 swagger 接口文档

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

samba服务搭建,并将共享目录映射到windows

系统版本&#xff1a;centos7 1、centos 安装samba yum -y install samba 2、查看安装信息 rpm -qa |grep samba 3、设置开机自启动 systemctl enable smb.service systemctl enable nmb.service 4、设置samba服务器配置文件 sudo vi /etc/samba/smb.conf 注意&#…

【blender渲染】blender流体模拟基础

各位新年好哇&#xff0c;最近在做demo的时候&#xff0c;为了更好的效果&#xff0c;开始摸索一点离线渲染的东西。像这种后续渲染的处理&#xff0c;由于3ds max是更偏向于建模的dcc&#xff0c;有点不那么好使&#xff08;没有说看不起vray的意思哈&#xff09;。 像在实时…

计算机组成原理 01:计算机的发展历程

计算机的发展历程 导言什么是计算机系统计算机系统 硬件软件因此&#xff0c;计算机性能的好坏取决于“软”、“硬” 件功能的总和。 硬件的发展计算机发展阶段第一代&#xff1a;电子管时代第二代&#xff1a;晶体管时代第三代&#xff1a;中小规模集成电路时代第四代&#x…

算法第二十二天-最大数

最大数 题目要求 解题思路 今天的题目&#xff0c;让我们将一组数字重新组合&#xff0c;构成一个最大的整数。由于构成的整数非常大&#xff0c;所以返回结果需要字符串格式。 分析一下规律&#xff1a; 为了避免用int型或者long型越界&#xff0c;所以我们需要把数字先转换…

独立服务器有哪些优势

建立和维护一个强大的线上网站存在对于个人、企业和组织来说至关重要。而作为构建一个稳定、高效网站的基石之一&#xff0c;服务器的选择变得越来越重要。在服务器的选择中&#xff0c;独立服务器已经成为了许多人首选的方案。 独立服务器究竟有哪些优势呢&#xff1f; 1、稳…

拦截器与过滤器

拦截器&#xff08;Interceptor&#xff09;是一种特殊的组件&#xff0c;它可以在请求处理的过程中对请求和响应进行拦截和处理。拦截器可以在请求到达目标处理器之前、处理器处理请求之后以及视图渲染之前执行特定的操作。拦截器的主要目的是在不修改原有代码的情况下&#x…

常用芯片学习——HC245芯片

HC245三态输出八路总线收发器 使用说明 这些八路总线收发器专为数据总线之间的异步双向通信而设计。控制功能实现可更大限度地减少外部时序要求。根据方向控制 (DIR) 输入上的逻辑电平&#xff0c;此类器件将数据从 A 总线发送至 B 总线&#xff0c;或者将数据从 B 总线发送至…

macOS Sonoma 14.3RC(23D56)发布

系统介绍 黑果魏叔1 月18日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 14.3 RC 更新&#xff08;内部版本号&#xff1a;23D56&#xff09;&#xff0c;本次更新距离上次发布隔了 41 天。 如何升级 iOS / iPadOS / watchOS / macOS 开发版和公测版&#xff1f; 升…

【数学建模】图论模型

文章目录 图的基础理论及networkx简介图的基本概念图的表示及Networkx简介图的表示NetworkX简介 最短路算法及其Python实现固定起点到其余各点的最短路算法每对顶点间的最短路算法最短路应用 最小生成树算法及其networkx实现基本概念最小生成树算法最小生成树应用 匹配问题最大…

五、垃圾回收

1. 垃圾回收基础 1.1 什么是垃圾 简单说就是&#xff1a;内存中已经不再被使用到的内存空间就是垃圾。 1.2 如何判定是垃圾 1.2.1 引用计数法 引用计数法&#xff1a;给对象添加一个引用计数器&#xff0c;有访问就 1&#xff0c;引用失效就 -1 引用计数法的优缺点&#…

GIS项目实战10:MySQL数据库的安装与配置教程

MySQL是一个关系型数据库管理系统&#xff0c;由瑞典 MySQL AB 公司开发&#xff0c;属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用方面&#xff0c;MySQL是最好的RDBMS (Relational Database Management System&#xff0c;关系数据…

2024年【黑龙江省安全员C证】免费试题及黑龙江省安全员C证作业考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【黑龙江省安全员C证】免费试题及黑龙江省安全员C证作业考试题库&#xff0c;包含黑龙江省安全员C证免费试题答案和解析及黑龙江省安全员C证作业考试题库练习。安全生产模拟考试一点通结合国家黑龙江省安全员C证…

根据音乐合成舞蹈;提升预训练扩散模型分辨率;基于扩散模型的视频超分;LLM推理加速框架;3D控制运动人像合成

本文首发于公众号&#xff1a;机器感知 根据音乐合成舞蹈&#xff1b;提升预训练扩散模型分辨率&#xff1b;基于扩散模型的视频超分&#xff1b;LLM推理加速框架&#xff1b;3D控制运动人像合成 DanceMeld: Unraveling Dance Phrases with Hierarchical Latent Codes for M…

架构篇11:架构设计流程-设计备选方案

文章目录 架构设计第 2 步&#xff1a;设计备选方案设计备选方案实战小结 上一期我讲了架构设计流程第 1 步识别复杂度&#xff0c;确定了系统面临的主要复杂度问题后&#xff0c;方案设计就有了明确的目标&#xff0c;我们就可以开始真正进行架构方案设计了。今天我来讲讲架构…

CVE重要通用漏洞复现java phpCVE-2021-44228

在进行漏洞复现之前我们需要在linux虚拟机上进行docker的安装 我不喜欢win上安因为不知道为什么总是和我的vmware冲突 然后我的kali内核版本太低 我需要重新安装一个新的linux 并且配置网络 我相信这会话费我不少时间 查看版本 uname -a 需要5.5或以上的版本 看错了浪…

理想斯特林循环空调

理想斯特林循环空调 淘汰传统的压缩机、摒弃现有的斯特林制冷机&#xff0c;理想斯特林循环制冷机是未来制冷空调领域的发展方向&#xff01; 采用理想斯特林循环制冷机&#xff0c;是目前全球首创、国际领先、世界唯一、效率最高的斯特林制冷机。 取消了传统压缩机空调的蒸发器…

计算机视觉的应用

计算机视觉&#xff08;Computer Vision&#xff09;是一门研究如何让计算机能够理解和分析数字图像或视频的学科。简单来说&#xff0c;计算机视觉的目标是让计算机能够像人类一样对视觉信息进行处理和理解。为实现这个目标&#xff0c;计算机视觉结合了图像处理、机器学习、模…

接口测试 04 -- Jsonpath断言、接口关联处理

1. JsonPath基本介绍 1.1 JsonPath简介 JsonPath是一种用于在JSON数据中定位和提取特定数据的表达式语言。它类似于XPath用于XML的定位和提取&#xff0c;可以帮助我们灵活地从复杂的JSON结构中获取所需的数据。 1.2 JsonPath的特点 ● JsonPath可处理的报文类型为字典类型 …