前端面试题哦!!!!

118 阅读1分钟

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

组件

1.什么是组件?

对样式,数据,方法进行简单的封装

2.那什么是封装?

将有关联的数据包围在一起,仅对外公开接口

3.组件的好处是什么?

可复用

代码简洁

阅读性高

将代码抽离出来,提高了代码的简洁,可阅读性

便于维护

有问题只需要找相关的组件。

4.组件怎么命名?

(1)大驼峰命名:MyName

(2)链式命名my-name

5.组件接怎么传值?

(1)父传子

将需要传递的参数写在子组件标签的,动态的可以用v-bind

父组件
<template>
    <Son name="lmr" :age="18"></Son>
</template>

(2)子传父

需要使用$emit,触发父组件的自定义事件,将数据传给

(3)eventBus

(4)消息订阅

6.子组件可以直接修改父组件传递过来的数据吗?

不可以

7.为什么不可以?

因为父组件传递给子组件的数据是单向数据流

8.什么是单向数据流?

单向数据流就是数据只能从父组件传递给子组件,子组件不能修改传递过来的数据

9.那怎样才能修改父组件传递过来的数据?

可以使用$emit,触发父组件的自定义事件,将修改后的数据传给父组件,父组件进行修改。

BFC

1.什么是BFC?

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

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

2.BFC怎么用?

自动生成的

3.哪些会自动生成BFC?

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

3.解决了什么问题?

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

缓存

1.什么是缓存?

将服务器获取的数据,放在就近的仓库,下次需要用的时候,直接从仓库中获取,不需要在向服务器发送请求

2.为什么需要缓存?

如果需要多次发送请求获取数据,大量的数据在浏览器之间往返。服务器处理数据响应就会变得缓慢。