一、CSS如何隐藏元素?
1、使用
display: none;
- 这种方法会隐藏元素,并且不占据页面空间。
- 元素会被完全移除,无法通过任何方式显示出来。
.hidden-element { display: none; }
2、使用
visibility: hidden;
- 这种方法会隐藏元素,但仍然占据页面空间。
- 元素在页面上不可见,但保留其尺寸和位置。
.hidden-element { visibility: hidden; }
二、css块级元素和行内元素有哪些?两者有什么区别?
1、块级元素(Block-level Elements):
特点:
- 会在页面上以块的形式显示,独占一行或一块区域。
- 默认情况下,块级元素会从新的一行开始,占据整个可用宽度。
- 可以设置宽度、高度、内外边距等属性。
- 例如:
<div>、<p>、<h1>-<h6>、<ul>、<li>
等。2、行内元素(Inline Elements):
特点:
- 会在页面上以行内的形式显示,不会独占一行,会与其他行内元素在同一行上。
- 默认情况下,行内元素的宽度由其内容决定,不可设置宽度和高度。
- 可以设置水平方向的内外边距,但不会影响垂直方向。
- 例如:
<span>、<a>、<strong>、<em>、<img>
等。3、总的区别:
(1)显示方式:
- 块级元素会以块状显示,独占一行或一块区域;
- 行内元素会在同一行内显示,不会独占一行。
(2)默认宽度:
- 块级元素的宽度默认为其父元素的100%,可以设置宽度和高度;
- 行内元素的宽度由内容决定,不可设置宽度和高度。
(3)内外边距:
- 块级元素可以设置垂直和水平方向的内外边距;
- 行内元素只能设置水平方向的内外边距。
(4)元素嵌套:
- 块级元素可以包含其他块级元素和行内元素;
- 行内元素只能包含其他行内元素或文本。
三、JavaScript中“==”与“===”的区别
= =
(相等运算符):
==
用于比较两个值是否相等,会进行类型转换。- 如果两个值的类型不同,
==
会尝试将它们转换为相同的类型,然后再进行比较。- 例如,
1 == '1'
会返回true
,因为'1'
会被转换为数字1
进行比较。
= = =
(严格相等运算符):
===
也用于比较两个值是否相等,但不会进行类型转换。- 如果两个值的类型不同,
===
会直接返回false
,不会尝试进行类型转换。- 例如,
1 === '1'
会返回false
,因为类型不同,不会进行类型转换。总结区别:
==
在比较时会进行类型转换,而===
不会进行类型转换。- 使用
===
更加严格和精确,避免了类型转换可能带来的意外结果。- 在一般情况下,推荐使用
===
运算符进行严格相等比较,以避免潜在的类型转换问题。
四、【算法】丢失的数字
1、题目:
给定一个包含
[0, n]
中n
个数的数组nums
,找出[0, n]
这个范围内没有出现在数组中的那个数。int missingNumber(int* nums, int numsSize) { }
2、解题:
- 初始化一个变量
sum
用于存储数组nums
中所有数字的总和,初始值为 0。- 使用
for
循环遍历数组nums
,将数组中的每个数字累加到sum
中。- 计算范围 [0, n] 的总和,即
numsSize*(numsSize+1)/2
。- 返回缺失的数字,即范围 [0, n] 的总和减去数组
nums
中所有数字的总和。int missingNumber(int* nums, int numsSize) { int sum=0; for(int i=0;i<numsSize;i++) { sum+=nums[i]; } return numsSize*(numsSize+1)/2-sum; }
方二:
int missingNumber(int* nums, int numsSize) { int total = (numsSize * (numsSize + 1)) / 2; // 计算 [0, n] 的总和 int sum = 0; for (int i = 0; i < numsSize; i++) { sum += nums[i]; // 计算数组中所有数字的总和 } return total - sum; // 返回缺失的数字 }