2024-04-08(CSS,JS)

1.标准流

指的是标签在页面中默认的排布规则,例如块元素独占一行,行内元素可以一行显示多个。

2.Flex布局

也称弹性布局,是浏览器提倡的布局模型,适合结构化布局,并且不会产生浮动布局中脱标的现象。

浮动布局:浮动布局主要用于解决多个块元素共存于一行的问题。虽然浮动可以解决多个块元素共存一行的问题,但是也会有非常不好的影响。

例如:浮动布局需要编程者自己计算同一行块元素的外边距,而Flex布局只需要设置好属性就自动帮编程者计算,并排布好同一行的块元素。

设置方式:给父元素display:flex,子元素可以自动挤压或者拉伸

组成部分:

* 弹性容器

* 弹性盒子

* 主轴:默认在水平方向

* 侧轴:默认在垂直方向

主轴对齐方式:justify-content

侧轴对齐方式:align-items:弹性容器内所有弹性盒子侧轴对齐。align-self:单独某个弹性盒子侧轴对齐

---JS

3.JS引入方式

JS程序不可以独立运行,它需要嵌入到HTML中,交给浏览器执行。通过<script>标签引入JavaScript代码到HTML中。

一般都是将JS代码独立写到.js文件中,通过script标签的src属性来引入

4.变量是计算机中用来存储数据的“容器”

5.JS中用let和var声明变量,const声明常量

6.DOM

DOM是将整个HTML文档的每一个标签元素视为一个对象,每个对象都包含了许多属性和方法,通过操作这些属性和方法对HTML进行动态的更新,以此实现网页特效以及和用户的交互

简而言之,DOM就是用来动态修改HTML,目的就是开发网页特效和与用户交互。

document就是JS内置的用于操作DOM的对象,document有若干属性和方法。(例如document.querySelector抓取页面标签)

7.innerHTML,innerText修改标签内文本内容

8.自定义属性

HTML5推出自定义属性----语法:data-自定义属性,DOM对象采用dataset方式来获取

9.间歇函数,setInterval,也称之为定时器函数

10.事件监听

程序的行为和状态用 事件 来描述

结合DOM对象来使用事件,则为DOM对象添加事件监听,等待事件发生的时候,便调用一个函数

方法:addEventListener

其实无非就是找个机会触发一个函数。

<script>button.addEventListener('click', function(){console('事件触发')const text = document.querySelector('.text')text.style.color = 'red'})
</script>

 11.事件类型

鼠标事件

mouseenter鼠标移入,mouseleave鼠标移出

键盘事件

keydown键盘按下,keyup键盘抬起

表单事件

input输入

焦点事件

focus获得焦点,blur失去焦点

12.事件对象

任何事件类型被触发的时候,于事件相关的信息会用对象的形式记录下来,找个对象就称之为事件对象。

事件监听中第二个参数(回调函数)的第一个参数就是事件对象

<script>const box = document.querySelector('.box')box.addEventListener('click', function(e){// e就是事件对象console.log(e)})
</script>

13.this

谁调用,this就指代谁,粗略规则

14.如果将A函数作为B函数的参数,那么就称A为回调函数

回调函数一般都是匿名函数的形式

15.事件流

事件流就是时间的执行过程

事件的执行顺序:捕获、冒泡

捕获阶段:从父到子元素

冒泡阶段:从子到父元素

当某个元素的事件被触发的时候,事件总是会先经过它的祖先才能到达当前元素,然后再由当前元素向它的祖先传递,事件在这个流动过程中遇到相同的事件就会被全部触发。

事件的执行顺序也是可以控制的,既可以再捕获阶段执行,也可以在冒泡阶段执行

冒泡模式:先执行子盒子事件再向上执行父盒子事件

捕获模式:先执行父盒子事件再向下执行子盒子事件

归纳:

1.addEventLisenter第三个参数可以设置事件在捕获还是冒泡阶段触发,true表示捕获,false表示冒泡,默认false

2.事件流只会在父子元素具有相同的事件类型时才会产生影响

3.绝大多数时候都是冒泡模式

4.阻止冒泡:就是中断事件的流动,保证事件只在当前元素被执行,而不再去影响它的祖先元素。(用事件对象的方法:e.stopPropagation())

16.localStorage

作用:数据可以长期保留在本地浏览器中,刷新页面和关闭页面都不会丢失

特点:键值对的形式,存储形式是字符串

17.数组方法

map方法:

遍历数组并处理数据,并返回新的数组

join方法:

把数组中的所有元素转换为一个字符串。

18.闭包

<script>// 闭包的写法实例function outer(){let count = 1function fun() {count ++;console.log('内部函数访问了外部函数的count变量')}return fun;}const res = outer()
</script>

总结:

1.如何理解闭包?

闭包 = 内层函数 + 外层函数的变量

2.闭包的作用?

封闭数据,实现数据的私有化,外部也可以访问函数内部的变量

闭包很有用,因为它允许将函数与其所操作的某些数据(环境)关联起来

3.闭包可能引起的问题?

内存泄漏

19.arguments

arguments是函数内部内置的伪数组变量,它包含了调用函数时传入的所有实参

arguments是一个伪数组,它的作用是动态获取函数的实参

20.箭头函数

箭头函数就是一个声明函数的其他写法,更加简洁

<script>
//1.箭头函数基本语法
const fn = () => {console.log(123)
}
fn()
const fn = (x) => {console.log(x)
}
fn(1)
//2.只有一个形参的时候,可以省略小括号
const fn = x => {console.log(x)
}
fn(1)
//3.只有一行代码的时候,可以省略大括号
const fn = x => console.log(x)
//4.只有一行代码的时候,可以省略return
const fn = x => x + x
console.log(fn(1))
//5.箭头函数可以直接返回一个对象
const fn = (uname) => ({uname : uname})
console.log(fn('cxr'))
</script>

箭头函数中没有arguments,只能用...来动态获取实参

21.解构赋值

本质就是快速为变量赋值的简洁语法,分为数组和对象解构

数组解构:

<script>let arr = [1, 2, 3]let [a, b, c] = arrconsole.log(a)console.log(b)console.log(c)
</script>

支持多维度的解构赋值 

对象解构:

<script>const user = {name : 'cxr',age : 18};const {name, age} = userconsole.log(name)console.log(age)
</script>

同样也支持多维解构赋值

22.foreach和filter操作数组

<script>const arr = ['red', 'green', 'pink']const result = arr.forEach(function(item, index) {console.log(item)  // 数组元素 red green pinkconsole.log(index) // 索引号})
</script>
<script>const arr = [10, 20, 30]const newArr = arr.filter(item => item >= 20)console.log(newArr)
</script>

filter()方法会创建一个新的数组,新数组就是过滤条件过后的数组 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1006 换个格式输出整数

让我们用字母 B 来表示“百”、字母 S 表示“十”&#xff0c;用 12...n 来表示不为零的个位数字 n&#xff08;<10&#xff09;&#xff0c;换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234&#xff0c;因为它有 2 个“百”、3 个“十”、以及个…

前端潮流速递:从 Electron 到 Tauri —— 构建高性能跨平台桌面应用的新选择

前端潮流速递&#xff1a;从 Electron 到 Tauri —— 构建高性能跨平台桌面应用的新选择 在现代前端开发领域中&#xff0c;Electron 以其便捷的 Web 技术集成和跨平台能力赢得了广泛的认可。然而&#xff0c;随着应用体积不断增大和资源占用问题凸显&#xff0c;寻找更为精简…

【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(四)- 配置和设置指令(vsetvli/vsetivli/vsetvl)

1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容&#xff1a; 这是一份关于向量扩展的详细技术文档&#xff0c;内容覆盖了向量指令集的多个关键方面&#xff0c;如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…

蓝桥杯模拟赛练习题—— 燃烧你的卡路里

目标 请在 js/index.js 和 index.html 文件中补全代码&#xff0c;完成以下目标&#xff1a; 点击“定制方案”按钮后&#xff0c;弹出侧滑页面&#xff0c;所使用的组件为 el-drawer&#xff0c;相关属性如下&#xff1a; 参数说明类型默认值v-model是否显示 Drawerboolean…

nginx访问路径映射资源目录

Nginx映射资源目录是指在Nginx配置文件中设定规则&#xff0c;使得当客户端向Nginx服务器发送请求访问某个URL时&#xff0c;Nginx能够将该URL映射到服务器本地的实际文件目录&#xff0c;从而正确地提供该目录下的静态资源&#xff08;如HTML、CSS、JavaScript、图片、视频等文…

短视频技术课程在哪学?来这几个资源网站看看,是你需要的

做短视频&#xff0c;有时候就像是做饭&#xff0c;素材好比是食材&#xff0c;没了好食材&#xff0c;怎么做都是不是味儿。今天&#xff0c;我得跟大家好好聊聊&#xff0c;作为一个剪辑界的“老油条”&#xff0c;我是怎样在这个素材的海洋里捞到宝贝的。九才素材网&#xf…

新手养猫必备!福派斯三文鱼益生菌猫粮,让猫咪更健康

亲爱的朋友们&#xff0c;我知道你们中的许多人可能正在考虑养猫&#xff0c;或者刚刚成为了一位猫奴。对于新手来说&#xff0c;选择合适的猫粮可能是一个令人困惑的问题。今天&#xff0c;我想向大家推荐一款非常适合新人的猫粮——福派斯三文鱼益生菌猫粮。 &#x1f43e; 首…

船气废弃锅炉三维仿真vr交互展示降低培训门槛

火化炉是殡葬行业的核心设备&#xff0c;其操作技艺对于专业人才的培养至关重要。然而&#xff0c;传统实践教学受限于时间、场地、设备损耗等多重因素&#xff0c;难以给予学生充分的实操机会。面对这一挑战&#xff0c;我们创新推出了火化炉vr三维仿真培训软件&#xff0c;以…

程序员的赚钱认知觉醒(下)

13、什么样的事情才值得长久的做&#xff1f;​ ​ 满足以下三个原则的事情才值得我们长久且终身为之奋斗&#xff1a;​ 从自己的专业领域入手​做有积累的事​在鱼多的地方钓鱼​ ​ 在鱼多的地方钓鱼&#xff0c;换句话说是选择一个足够大的赛道&#xff0c;即项目的天花板…

如何在Unity中使用设计模式

在 Unity 环境中,设计模式是游戏开发人员遇到的常见问题的通用解决方案。将它们视为解决游戏开发中特定挑战的经过验证的模板或蓝图。以下是一些简单易懂的设计模式: 1. 单例=> 单例模式确保一个类只有一个实例,并提供对该实例的全局访问点。在 Unity 中,可以使用单例模…

数据挖掘|序列模式挖掘及其算法的python实现

数据挖掘|序列模式挖掘及其算法的python实现 1. 序列模式挖掘2. 基本概念3. 序列模式挖掘实例4. 类Apriori算法&#xff08;GSP算法&#xff09;4.1 算法思想4.2 算法步骤4.3 基于Python的算法实现 1. 序列模式挖掘 序列(sequence)模式挖掘也称为序列分析。 序列模式发现&…

中颖51芯片学习3. 定时器

中颖51芯片学习3. 定时器 一、SH79F9476定时器简介1. 简介2. 定时器运行模式 二、定时器21. 说明&#xff08;1&#xff09;时钟&#xff08;2&#xff09;工作模式 2. 寄存器&#xff08;1&#xff09;控制寄存器 T2CON&#xff08;2&#xff09;定时器2模式控制寄存器 T2MOD …

[大模型]Baichuan2-7B-chat FastApi 部署调用

Baichuan2 介绍 Baichuan 2 是百川智能推出的新一代开源大语言模型&#xff0c;采用 2.6 万亿 Tokens 的高质量语料训练。在多个权威的中文、英文和多语言的通用、领域 benchmark 上取得同尺寸最佳的效果。 环境准备 在autodl平台中租一个3090等24G显存的显卡机器&#xff0c;…

并行超算云计算使用步骤完整流程详情

本文目录 一、将项目传入并运云。二、创建项目的虚拟环境三、编辑run.sh脚本四、提交作业五、查看作业输出六、查看提交的作业号七、结束作业 一、将项目传入并运云。 二、创建项目的虚拟环境 打开终端 使用conda创建&#xff1a;conda create -n 环境名 python3.8查看conda下…

怎么搜索夸克网盘分享出来的文件

当您需要对大量的夸克网盘上的分享文件进行搜索时,您可以考虑以下五种优秀的网盘搜索工具: 6miu易搜 如果您正在寻找一个轻用且高效的网盘搜索工具,这里有一款非常优秀的工具可以帮助您。6miu易搜是一款十分方便于使用、易于操作的网盘搜索工具,使用该工具可以提高您对网盘搜索…

Java面试必问题29:MySQL篇(重点必问)

数据库的ACID特性 原子性&#xff08;Atomicity&#xff09;&#xff1a;事务中的操作要么全部成功&#xff0c;要么全部失败。事务是一个不可分割的单元&#xff0c;要么全部执行&#xff0c;要么全部回滚。如果事务中的任何操作失败&#xff0c;所有操作都将被回滚到事务开始…

计算机网络:数据链路层 - CSMA/CD协议

计算机网络&#xff1a;数据链路层 - CSMA/CD协议 媒体接入控制CSMA/CD协议截断二进制指数退避算法帧长与帧间间隔信道利用率 媒体接入控制 如图所示&#xff0c;这是一根同轴电缆&#xff0c;有多台主机连接到这根同轴电缆上&#xff0c;他们共享这根传输媒体&#xff0c;形成…

【随笔】Git 高级篇 -- 整理提交记录(下)rebase(十六)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

蓝桥杯刷题-15-异或和之和-拆位+贡献法⭐⭐(⊙o⊙)

蓝桥杯2023年第十四届省赛真题-异或和之和 题目描述 给定一个数组 Ai&#xff0c;分别求其每个子段的异或和&#xff0c;并求出它们的和。或者说&#xff0c;对于每组满足 1 ≤ L ≤ R ≤ n 的 L, R &#xff0c;求出数组中第 L 至第 R 个元素的异或和。然后输出每组 L, R 得到…

MySQL5.7导入MySQL8.0以上版本的几种错误

【错误原因1】/!40000 DROP DATABASE IF EXISTS springbootra863/; 【解决办法】给这一行删了