成都网站建设交易/品牌线上推广方式
CSS:层叠样式表
1、选择器
从模板template中选择某元素进行样式设置
需要注意的是作用域到底是当前模板还是整个html文档
1.1 基础(单一)选择器
标签、类、 id、通配符
-
标签、直接使用标签名,比如div,span…
优点:全选
模板中的名{。。。} -
类、使用点+类名来选择
优点:给某个标签设置某个类名,可以只选择某个标签。
其实这个理论上并不像是选择模板的元素,而是像选择已经定义的类名。
比如说,你在文档中定义了类A,类B,那么应该是选择这些类。
修改类之后,再在模板中选择某个元素应用于该类,从而间接达到选择该(类)元素的效果。
能体会到其中的独立性吗?类独立于元素。元素可以依赖于(多)类。
类选择器因为这种多类性质,可以使得代码复用,开发中最常用
.class名{。。。} -
id、使用#加id名来选择
id唯一性:只能给某个元素定义,不可重复使用。经常和js搭配使用。
#id名{。。。} -
通配符、使用乘号*(表示所有的),一般可以用来清除(统一修改)整个文档的全部颜色、边距等…
*{。。。}
1.2 复合选择器
- 空格链接的多个选择器,a b{…}
将选择范围缩小 - 大于号>链接的两个选择器
表示A>B:B是A的儿子(不是孙子…) - 逗号链接的选择器
同时选择多个选择器(并集) - 使用冒号:添加附属属性的【伪类选择器】—注意生效顺序即可
:hover鼠标悬停上方时生效的选择器
:active鼠标按下未抬起
:link未被点击的链接
:visited已经被访问的链接
input:focus表单元素获得焦点
:first-child:只选择第一个孩子
1.3 css3新的选择器:
- 属性(可以包含值)选择器:
E[属性]
或者E[属性="val"]
等等 - 结构伪类选择器:E:first-child,。。。。
- 伪元素选择器:不说了
2、显示模式
-
块元素: 独占一行div----
h1-h6/p/ul/ol/li/div----div是最典型的块元素
独占一行是因为宽默认是父级容器的100%、但是宽高、内外边距都可以控制,
一般用来作为容器(注意,即使你设置宽度,他默认还是独占一行,这是在标准流布局模式下的,但是可以通过其他布局定位浮动来干预,这后续会讲到)
(特殊:文字类比如p、h里面不能放容器) -
行内元素:仅包括内容span----一行可以放多个
a/strong/b/em/i/del/s/ins/span—span是比较经典的行内元素
无法直接设置宽高,而是由内容来决定
内部不能放1中的容器。
(特殊:链接a里不能再放a,但是可以放块级元素–最好转化以下比较好)
转化方式是指定display,比如:
display:block—转换成块级元素
display:inline—转换成行内元素
display:inline-block—转换成行内块元素 -
行内块元素:
本身大小宽高由内容决定,但是再次可以设置宽高边距
img/input/td
使用vertical-align实现行内块和文字居中对齐
3、CSS 三大特性
- 继承性:子元素默认继承父元素的某些样式,比如文字样式,行高font-size,颜色…
- 层叠性:给相同的选择器中的某个相同的属性设置值,发生冲突时应该覆盖吗?
最新原则:新来的替换旧的 - 优先级:同一个元素上的 不同的选择器优先级不同,即权重不同
!important无穷大> 行内style=“” >id>类/伪类>元素名>通配符/继承的样式(子可以轻易更该父传来的)
比如模板说有一个元素div,它使用了元素名div和类名class定义了两个样式,那么class优先级更高
如何更该权重:上述1、所说的【复合选择器】可以看成可以提升权重。
4、盒子模型
- 页面布局核心:盒子模型、浮动、定位
- 网页布局本质上是由很多个盒子合理排放组成的。做网页布局首先考虑如何利用CSS摆放盒子。
- 从内到外:内容----内边距----边框----外边距,(注意边框是夹在内外边距中间的)也就是说,你给盒子加上边框边距,会把整个盒子撑大
但是又一个属性可以使得边框独立于盒子(box-sizing 默认为 border-box,即盒子的宽高包含内容、内边距和边框的宽度,不包含外边距的宽度)
具体可以看uniapp的相关介绍:https://uniapp.dcloud.net.cn/tutorial/nvue-css.html#%E7%9B%92%E6%A8%A1%E5%9E%8B
可以看出,内外边距直接夹着边框,所以之所以需要区别内外边距,是因为我们有时候需要是否撑大边框。如果要撑大边框,就内边距。否则就外边距。-----你要是不设置边框,哪一个都随便。
我们可以通过border属性来设置边框的粗细即设置宽width、实线solid虚线点线…颜色color等
一般我们使用复合写法:border:1px solid red; - 特殊的边框:圆角边框-----border-radius:10px;(CSS3新特性)原理是拿一个圆 减去直角
- 盒子阴影:box-shadow:1px 2px 3px 4px red;1 2表示x、y轴的影子偏移距离。3是模糊度,4是影子宽度尺寸,阴影不占用空间。另外还可以设置文字阴影text-shadow
5、布局——标准、浮动、定位
三种CSS传统布局方式----如何利用CSS正确摆放盒子
-
普通流(标准流、文档流、默认流):按照默认的方式摆放盒子,比如块元素div独占一行,并且从上到下、从左到右顺序。行内元素span从左到右,从上到下,碰到父元素最右边自动换行。
总之就是:从上到下、从左到右就是默认的标准流。一般上下竖着排列
的div直接使用标准流即可 -
浮动:改变元素的默认排列方式,比如div默认一行显示,即使设置宽度。但是设置浮动以后,再设置宽度,那么div盒子就浮动起来,可以达成一行显示的效果。
总之就是可以让div横着堆起来
的排列方式。float可以让块元素浮动起来去触碰其他块元素边缘。
三个属性:none不浮动/ left向左浮动找朋友(边缘)/ right向右浮动找朋友或者边缘
因为横向排列,只需要左右浮动
即可:左浮动----左上漂浮;右浮动----右上漂浮。你可以理解成,先尝试往上漂浮,再左右漂浮。
浮动的使用建议:父容器使用标准流(默认的),子元素使用浮动。通过控制父元素,就可以间接控制子元素浮动效果。理论上一个父容器内的的子元素使用浮动,都应该全部使用,因为浮动会脱离标准流,如果A容器内有1,2两个元素,那么如果1使用浮动,2不使用,1就会遮住2。往往不满足你的需求。
-
定位:静态定位❌(无定位基本不用)、相对定位、绝对定位、固定定位fixed、粘性定位
(1)相对定位:相对于自身最左边建立直角坐标系来定位。注意,不是相对于父容器的左上坐标。很多初学者会以为是相对于父容器,其实是相对于子元素自身的左上角坐标的。不会脱离标准流。毕竟就只是自身偏移了而已。即使留出空位,但是下面的盒子不会升上去。
(2)绝对定位:相对于父容器(父容器比如设置定位,如果父容器没有设置定位,就会往上寻找已经定位的上一级已经定位的容器直到最近一级已定位的容器)。所以一般如果子元素使用绝对定位,那么父容器一般都需要设置定位(一般设置为相对定位)。所以我们经常说一句口诀“子绝父相”
。请注意,一切以你需求为主,并不是死的要求。绝对定位是脱离标准流的。
也就是会飘起来(你可以想象成上升了一层),导致后面的元素会移动占用它原先的位置。
总结:标准流提供了一种最基本的布局方式——上左右,但是不够灵活。浮动float相对于标准流提供了先尝试往上,再左右漂浮的比较灵活的布局方式。但是浮动的位置我们又很难控制自定义,所以最后定位给了我们最大的自定义模式。
-
使用场景?以上三种布局方式各有各的使用场景(并没有谁好谁坏),如果你什么都不写,默认就是标准流。有时候你可以使用浮动来弥补一些标准流的缺陷。最后还可以使用定位来最大程度自定义,实现真正的div。
-
脱标是什么?还需要注意的是浮动会脱离标准流(脱标),脱标的意思是,移动之后,是否还保留再标准流中的位置。打个比方,你去排队打饭,默认是先来后到前后排列(标准流),但是你排队一半老师突然叫你过去一下,这时候是否需要保持你在队列中的位置?如果保留,那么别人就无法占用你的位置(即使位置没人)。这种方式就是还在标准流中。
相反,如果不保留位置,就是脱标,即别人可以占用你原先的空位。
相对定位不脱标(相对定位还是基于标准流)。其他一般都脱标,浮动、绝对定位、fixed都是脱标的!
还需要注意一点,上面所说的是脱标(脱离标准流),如果两个都是浮动,那么是同属一层的(不再是标准流,你可以想象成上升一层----浮动层,所以也不存在是否脱标的概念),因此不会重叠。
判断是否标准流,还是很关键的。涉及到这个元素会不会飘起来。。。就是一个容器内,你元素A基于标准流,另一个元素B脱标(比如使用浮动、绝对定位…)就会可能遮住A 。 -
浮动脱标带来的缺陷怎么解决?在开发过程中,某些父容器我们
不方便直接给固定的高度
,而是希望子元素来自动撑开。但是如果使用浮动之后,子元素会上升一层,导致父容器如果不设置高度,子元素全部上升了父容器高度就会自动收缩为0
,后面的标准流的容器
就会往前挤。这是我们不希望看到的。我们希望看到即使子元素都漂浮起来后,父容器还是能够保持能够容纳他们的高度(如果父容器没有设置高度)。
这时候如果我们使用float就需要清除浮动带来的坏处,clear:both----清除左右两边浮动
方式1:最后添加额外的块级元素来占用父元素空间(可以理解成隔墙法,w3c的写法)
<div class="容器"><div class="box">浮动 </div><div class="box">浮动</div><....其他浮动元素<div style="clear:both"></div>
</div>方式2:给父级容器加overflow,auto/hidden/scroll均可,缺点是溢出会隐藏。方式3:伪元素法——给父级容器添加这样的属性(方式1的升级版)
.clearfix:after{content:"";//内容必须为空display:block;//必须转为块元素,因为伪类是行内height:0;clear:both;visibility:hidden;
}
/*兼容IE6,7,需要加这个*/
.clearfix:after{*zoom:1;
}方式4:双伪元素——父容器加
.clearfix:before,
.clearfix:after{content:"";//内容必须为空display:table;
}
.clearfix:after{clear:both;
}
/*兼容IE6,7,需要加这个*/
.clearfix:after{*zoom:1;
}
-
定位脱标是否需要清除浮动?
首先定位这边就没有浮动的概念,所以定位也是没有清除浮动的概念的。
另外,定位的元素因为可以提供偏移坐标来移动,设置坐标之后,就可能会出现重叠情况。一般默认是先来后到,但是如果你需要设置哪一个元素在上方,所以就提供层级的概念:z-index。比如容器A包含3个定位元素,默认是后面的元素遮住前面的元素,但是你可以设置z-index来控制哪一个在上层。 -
给行内元素比如span添加脱标定位(绝对、固定),就可以设置宽高
-
给块元素比如div设置添加脱标定位(绝对、固定),就不再独占一行(好像说了一句废话,都飘起来了,哪里还有独占一行的说法)
-
浮动和定位的脱标比较:浮动定位脱标但是不会压住文字,绝对固定定位脱标会压住文字。这是因为浮动本来就是为了做文字环绕而生的,
6、显示和隐藏元素
- display:none—隐藏不再占有原位置(去除);display:block----显示(还有转换成块元素的意思)
- visibility:hidden—隐藏但保留原位置;visibility:visable----显示
- overflow:hidden—超出溢出隐藏;overflow:其他----显示
- 单行文字溢出省略号:white-space+overflow:hidden+text-overflow:ellipsis
- 多行:
{/*多出部分显示省略号*/text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 6;//6行之后显示-webkit-box-orient: vertical;
}
7、计算盒子宽度calc函数(CSS3)
加减乘除,
比如让子盒子用于比父盒子小100px(因为父容器可能会变化)
calc(100% - 100px)// 减号左右带空格并带单位,其中100%表示父容器的宽或者高
8、CSS3的动画过渡
经常和鼠标悬浮:hover一起搭配使用,比如一个元素本来有一个样式,鼠标放上去就会生效另一个样式,就会产生变化过渡,你希望这个过渡怎么发生?
注意:在原样式加,而不是鼠标:hover的样式加。
transition:1 2 3 4;
1:要过渡的属性,all表示选择所有发生变化的属性,可以添加固定的比如宽width...
2:花费时间,比如1s,.5s
3:运动曲线,默认ease,匀速
4:何时触发:默认立即触发。即0s
9、移动web—flex布局
优点:简单快速,缺点:可能不支持IE浏览器
如果不考虑兼容IE,可以使用。
任何一个元素都可以指定flex布局:display:flex;所以我们经常给span指定来对齐其中的文本。
父容器设置flex布局之后,浮动float会失效,但是可以使用定位。
- 设置主轴:默认是row(行)此时副轴纵轴为y轴,可以设置成column(列)此时副轴纵轴为x轴
因为新手可能会看不明白这一点,所以我就解释这个,其他的推荐你在这里学习:https://uniapp.dcloud.net.cn/tutorial/nvue-css.html#flex-%E5%AE%B9%E5%99%A8
10、grid网格布局
优点:某些情况下比flex好用。
可以看看这篇文章学习基础用法和场景:https://blog.csdn.net/qq_18798149/article/details/133872183
display: grid;
grid-template-columns:1fr 1fr 1fr;//3列,相对于flex:1
gap:30px;
一下是chatgpt的一些说明(不一定对,作为参考)
给父容器样式加:
-
display
:指定元素作为网格容器。display: grid;
:将元素设置为网格容器。display: inline-grid;
:将元素设置为内联网格容器。
-
grid-template-columns
或者grid-template-rows
:定义网格容器的列和行。前者优先于后者grid-template-columns: value1 value2 ...;
:指定列的大小和数量。grid-template-rows: value1 value2 ...;
:指定行的大小和数量。- 可以使用长度值(如像素、百分比),或者使用
fr
单位表示网格轨道的比例关系。
-
grid-template-areas
:通过指定区域名称来创建网格模板。grid-template-areas: "area1 area2" "area3 area4";
:定义网格容器的区域布局。- 通过在网格模板中使用区域名称,可以更轻松地定义网格项的位置和跨度。
-
grid-column-gap
和grid-row-gap
:指定网格项之间的列和行间隙。grid-column-gap: value;
:指定列间隙的大小。grid-row-gap: value;
:指定行间隙的大小。- 可以使用长度值(如像素、百分比)或关键字
normal
。
-
grid-gap
:同时指定网格项之间的列和行间隙。grid-gap: row-gap column-gap;
:同时指定行间隙和列间隙的大小。
-
grid-column
和grid-row
:指定网格项的位置和跨度。grid-column: start / end;
:指定网格项的起始列和结束列。grid-row: start / end;
:指定网格项的起始行和结束行。- 可以使用网格线编号、区域名称、关键字
span
和负值来定义位置和跨度。
-
justify-items
和align-items
:定义网格项在其单元格内的对齐方式。justify-items: value;
:指定网格项在水平方向上的对齐方式。align-items: value;
:指定网格项在垂直方向上的对齐方式。- 可以使用关键字
start
、end
、center
、stretch
等。
-
justify-content
和align-content
:定义网格项在网格容器中的对齐方式。justify-content: value;
:指定网格项在水平方向上的对齐方式。align-content: value;
:指定网格项在垂直方向上的对齐方式。- 可以使用关键字
start
、end
、center
、space-between
、space-around
等。
相关文章:

Vue之CSS基础
CSS:层叠样式表 1、选择器 从模板template中选择某元素进行样式设置 需要注意的是作用域到底是当前模板还是整个html文档 1.1 基础(单一)选择器 标签、类、 id、通配符 标签、直接使用标签名,比如div,span… 优点:全选 模板中的名{。。。}…...

【c++|opencv】二、灰度变换和空间滤波---3.均值滤波
every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 均值滤波 1. 均值滤波 #include <iostream> #include <opencv2/opencv.hpp> #include"Salt.h"using namespace cv; using names…...

【Arduino环境下驱动合宙esp32c3单片机基本外设】
【esp32c3基本外设驱动】 1. GPIO调试1.1 源码分享2.2 实验效果 2. ADC调试2.1 源码分享2.2 实验效果 3. WS2812驱动3.1 源码分享3.2 实验效果 4. 旋转编码器4.1 源码分享4.2 测试效果 5. SSD1306屏幕驱动5.1 源码分享5.2 测试效果 6. 双cpu同时工作测试6.1 源码分享6.2 测试效…...

一站式迁移,人大金仓助力大地保险业务无感升级
2021年3月,国家发布《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》,纲要明确提出“稳妥发展金融科技,加快金融机构数字化转型”、“推进金融业信息化核心技术安全可控,维护金融基础设施安全”。 202…...

基于SSM的模具制造企业订单跟踪管理系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

计算机基础知识41
前端 # 前端是所有跟用户直接打交道 比如:PC页面、手机页面、汽车显示屏,肉眼可以看见的 # 后端:一堆代码,用户不能够直接看到,不直接与用户打交道 常见的后端:Python、Java、Go等 # 学了前端就可以做全栈…...

requests之get请求实例-百度搜索
视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium 百度搜索请求地址: https://www.baidu.com/s?wd宝马 如果我们直接用requests.get()进行访问,发现没有返回内容,因为百度服务器通过headers头…...

Linux进程程序替换
文章目录 进程程序替换程序替换函数execl()函数调用另外一个可执行程序 execlp()函数ecexv()函数execle()函数 替换函数总结 进程程序替换 什么是进程程序替换?为什么要有程序替换? 顾名思义,进程程序替换就是把该进程中的程序替换掉&#x…...

Istio实战(九)-Envoy 流量劫持
前言 Envoy 是一款面向 Service Mesh 的高性能网络代理服务。它与应用程序并行运行,通过以平台无关的方式提供通用功能来抽象网络。当基础架构中的所有服务流量都通过 Envoy 网格时,通过一致的可观测性,很容易地查看问题区域,调整整体性能。 Envoy也是istio的核心组件之一…...

Node.js 的pm2 库
Node.js 是一个非常流行的 JavaScript 运行时环境,用于编写服务器端代码。随着 Node.js 应用程序的增长, 我们需要一种可靠的方式来管理应用程序的生命周期。这就是 pm2 库的作用。它是一个流行的 Node.js 应用程序进程管理器,可以帮助我们管…...

AutoX.js - openCV多分辨率找图
AutoX.js - openCV多分辨率找图 一、起因 AutoXjs 中有两个找图相关的方法 findImage 和 matchTemplate,之前一直没发现什么问题,但最近在一次测试找图时,明明大图和模板图的轮廓都清晰,却怎么也找不到图,降低阈值参…...

Python爬虫实战案例——第七例
文章中所有内容仅供学习交流使用,不用于其他任何目的!严禁将文中内容用于任何商业与非法用途,由此产生的一切后果与作者无关。若有侵权,请联系删除。 目标:LI视频采集 地址:aHR0cHM6Ly93d3cucGVhcnZpZGVv…...

C# 图解教程 第5版 —— 第13章 数组
文章目录 13.1 数组13.1.1 定义13.1.2 重要细节 13.2 数组的类型13.3 数组是对象13.4 一维数组和矩形数组13.5 实例化一维数组或矩形数组13.6 访问数组元素(*)13.7 初始化数组13.7.1 显示初始化一维数组13.7.2 显示初始化矩形数组13.7.3 初始化矩形数组的…...

android studio启动Task配置
Android studio 高版本默认不开启Task配置,需要自己手动开启 1.低版本配置路径:(复制他人图片) 2.高版本路径:添加下图勾选配置即可 3.gradle task 3.1 初识task gradle中所有的构建工作都是由task完成的,它帮我们处…...

Xcode运行程序提示 Executable Path is a Directory 问题解决
一、首先运行模拟器报错(没有记录),解决办法: TARGET->Build Settings->Architectures -> Exclude Architectures里面填入arm64,后运行模拟器成功 二、其次模拟器开发完成后,xcode运行真机调试&…...

决策树的优缺点
决策树优点 1. 易于理解和解释,因为树木可以画出来被看见 2. 需要很少的数据准备。其他很多算法通常都需要数据规范化,需要创建虚拟变量并删除空值等。但请注意, sklearn中的决策树模块不支持对缺失值的处理。 3. 使用树的成本(比…...

Flask后端开发(二) - 功能实现和项目总结
目录 1. 功能1:修改文件参数值1.1. 获取网页端传参1.2. 读取文件1.2.1. 一般文件读取方式1.2.2. 特殊文件 —— mlx文件1.2.3. 特殊文件 —— .xlx文件1.3. 查找数据修改位置,替换数据2. 功能2:读取结果数据2.1. 实时数据展示如何存储相关数据?2.2. 读取相关数据,整理、打…...

思维训练第五课插入语和主谓一致
系列文章目录 文章目录 系列文章目录前言一、插入语插入语的分类1、常用作插入语的副词 Indeed的确 certainly 当然 surely 无疑地 however 然而 等2、形容词及词组作插入语3、常作插入语的介词短语4、常作插入语的分词短语 Strictly speaking严格地说,generally sp…...

开源利器:it-tools 项目介绍
作为一名开发人员,我们在日常工作和学习中常常需要使用一系列小工具,如JSON格式化、JSON转表格、当前时间戳、XML格式化、SQL格式化、密码生成以及UUID生成等。通常情况下,我们会在网上搜索各种在线工具来满足这些需求。然而,这些…...

基于和声算法的无人机航迹规划-附代码
基于和声算法的无人机航迹规划 文章目录 基于和声算法的无人机航迹规划1.和声搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用和声算法来优化无人机航迹规划。 1.和声搜索算法 …...

[Linux]线程池
[Linux]线程池 文章目录 [Linux]线程池线程池的概念线程池的优点线程池的应用场景线程池的实现 线程池的概念 线程池是一种线程使用模式。线程池是一种特殊的生产消费模型,用户作为生产者,线程池作为消费者和缓冲区。 线程过多会带来调度开销,…...

使用es实现轻量级分布式锁
文章目录 [toc] 1.前言2.实现3.总结 1.前言 一般来说,实现分布式锁的方式有哪几种? 一:Redisson实现 二:ZK实现 这两种实现网上的实现是千篇一律,在本文就不做过多的讲解了 其它方式好像没有了,真的是这…...

富文本编辑器特殊字符的解码编码
var HtmlUtil {/*1.用浏览器内部转换器实现html转码*/htmlEncode:function (html){//1.首先动态创建一个容器标签元素,如DIVvar temp document.createElement ("div");//2.然后将要转换的字符串设置为这个元素的innerText(ie支持)或者textContent(火狐&…...

几种软件开发方法对比
几种软件开发方法对比 1 综述 软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。 本文对净室方法、结构化方法、面向对象方法、原型法、逆向工程等方法进行梳理,并对各种开发方法特点、优点进行对比。 2 净室方法 2.1 特点 净…...

在Maven中发布项目到Nexus私有服务器
一、测试环境 Sonatype Nexus 3.61.0-02 Maven 3.9.2 二、环境配置 2.1找到maven的配置文件 2.2添加私有仓库账户密码 <servers><server><id>nexus</id><username>admin</username><password>admin</password></server&…...

TypeScript - 类 -类的继承
浅谈类的继承 类的继承 就是对一个类进行扩展,可以扩展属性、方法。 类的继承 可以很好的解决代码冗余的问题。比如 : 【学生】类 拥有 基本的 姓名、年龄 两个属性, 【体育生】类也属于【学生】类,有 姓名、年龄、训练项目 三个…...

QT: QLineEdit 密码模式、QLineEdit输入模式
setEchoMode(QLineEdit::Normal) 是一个函数,用于设置 QLineEdit 对象的输入模式。具体用法如下: lineEdit->setEchoMode(QLineEdit::Normal);该函数的作用是将 QLineEdit 对象的输入模式设置为“正常模式”,在此模式下,用户的…...

ES6中Map集合
Map集合是一个新的数据结构,它可以存储键值对,并且可以使用任何类型的值作为键,包括对象、数组和函数。Map也是一种可迭代的结构,可以使用for...of循环遍历。 在ES6中,我们可以使用Map构造函数来创建一个Map集合&…...

【Leetcode Sheet】Weekly Practice 13
Leetcode Test 1155 掷骰子等于目标和的方法数(10.24) 这里有 n 个一样的骰子,每个骰子上都有 k 个面,分别标号为 1 到 k 。 给定三个整数 n , k 和 target ,返回可能的方式(从总共 kn 种方式中)滚动骰子的数量,使正面朝上的数…...

技术贴 | 一文掌握 Google Test 框架
一、简介 1. 引言 在开发过程中,如何保证代码的质量以及程序的正确性成为了我们亟需解决的问题,其中测试用例成为了不必可少的一部分。测试用例不仅可以帮助我们验证代码的正确性,还能帮助我们捕获潜在的错误,提高代码的可靠性和…...