1229面试题——原型链、文档流
Coding
- 合并两个有序数组,计算其中位数
// [1,2,4,5,6,8,11] m
// [2,5,6,8,10] n
// 1.偶数个时,取中间两个数的平均值
// 2. 时间复杂度不超过O(m+n)
function merge(arr1, arr2) {
let newArr = [];
let i=0;
let j=0;
// 按顺序加入
while (i !== arr1.length && j !== arr2.length) {
if (arr1[i] < arr2[j]) {
newArr.push(arr1[i])
i++;
} else {
newArr.push(arr2[j]);
j++;
}
}
// 处理未加完的
while (i !== arr1.length) {
newArr.push(arr1[i])
i++;
}
while (j !== arr2.length) {
newArr.push(arr2[j])
j++;
}
// 求中位数
let len = i+j;
if (!(len % 2)) {
return (newArr[len/2] + newArr[len/2 - 1]) / 2
} else {
return newArr[parseInt(len/2)]
}
}
JS
- 原型与原型链 下面三个分别与什么相等
function foo(){}
const bar = new foo()
bar.__proto__ === foo.prototype
foo.__proto__ === Function.prototype
foo.prototype.constructor === foo
HTML/CSS
-
一个div的高度100px是被其内容撑开的,如果为其添加样式height:50px;overflow:hidden,会触发回流重绘吗?如果其先有样式position:absolute,再添加上述样式会触发哪些?
- 元素的可见尺寸发生变化,因此会发生回流重绘
- 当为绝对定位时,脱离普通文档流,宽度也变为由其内容撑开, 同样可见尺寸发生变化会触发回流重绘
-
文档流有哪几种
- 普通文档流
- 浮动文档流
- 定位文档流
-
脱离普通文档流有哪些方式
- 浮动
- 绝对定位
- 固定定位
转载自:https://juejin.cn/post/6912744030019256328