前端高频面试题!!!!

186 阅读2分钟

「这是我参与2022首次更文挑战的第16天,活动详情查看:2022首次更文挑战」。

什么是Arguments 对象?

我对Arguments 对象的理解就是,函数参数的一个伪数组对象(箭头函数不可以)。

那它可以做什么呢?

可以通过Arguments 对象获取到每一个参数,可以给这些参数赋值,如果不确定有多少个参数可以用Arguments配合展开运算符

什么是Generator函数?

写法:
function* fn() {
	yield 1
	yield 2
	yield 3
}
let f = fn()
f.next()
f.next()
f.next()

通过function*声明,yield返回。可以使用yield多次返回 Generator函数执结果的方法:

(1)next()(自动done)

(2)for...of遍历,需要自己done

done为false,表示结果还没执行完,true表示执行完

什么是高阶函数?

特点:只要满足下面一条就是高阶函数

(1)参数是函数

(2)返回值是函数

BFC

1.什么是BFC?

块级格式化上下文,独立的区域。

块级格式化上下文是什么意思?

2.BFC怎么用?

自动生成的

3.哪些会自动生成BFC?

浮动,绝对定位,固定定位,弹性布局,行内块。overflow除了visible

4.解决了什么问题?

让区域里面的元素布局,不会影响到区域外边的布局

instanceof

1.什么是instanceof?

instanceof是一个运算符

2.有什么用?

它可以用来测试一个对象是否在目标对象的原型链上

3.那返回值是什么?

如果存在:返回true,

如果不存在:返回false

4.instanceof可以判断基本数据类型的类型吗?

instanceof不可以判断基本数据类型的类型, instanceof可以判断复杂数据类型。

3 instanceof Number----false
var n = new Number()
n instanceof Number----true

5.instanceof解决了什么问题?

typeOf不能分辨数组,对象,null的问题。在typeOf眼里,这些都是对象。