前端面试题|Html|Css|JavaScript|Vue

前端面试题(持续更新答案)

目录

前端面试题

Html

块元素和空元素

html语义化

html5新特性和移除标签

渐进增强和优雅降级

浏览器内核

浏览器输入url到显示页面过程

实现圆形可点击区域

cookie,sessionStorage,localStorage

网站性能优化

CSS

居中问题

清除浮动

外边距坍塌

盒子模型

em和rem

BFC

position定位

css初始化

自适应布局

css优化

JavaScript

typeof返回数据类型

强制类型转换

this

创建对象

数组去重

判断是否为数组

原型

事件代理

同步异步

js执行机制

浅拷贝和深拷贝

http和https

ajax

promise

Vue

生命周期

MVVM

Vue核心

v-for和v-if

watch和computed

data为什么是函数

路由跳转方式

跨域


Html

1、块元素和行元素

块级元素:div、p、h、ul、li、ol、dl、dt、dd

行内元素:a、span、img、input、select、button

空元素:br、hr、link、meta

2、html语义化

就是用相应的标签做相应的事,比如标题使用<h>标签,文本内容使用<span>标签,图片元素使用<img>标签等等,这有利于文档的可读性以及可维护性。

  1. html5新特性和移除标签

  2. 渐进增强和优雅降级

  3. 浏览器内核

  4. 浏览器输入url到显示页面过程

  5. 实现圆形可点击区域

  6. cookie,sessionStorage,localStorage

  7. 网站性能优化

CSS

1、居中问题

水平居中

1)margin: 0 auto; (适用于大部分情况下的水平居中)

2)行内元素:text-alin: center;

3)绝对定位式:

父元素——position: relative;

子元素——

position:absolution;

left: 50%;

transform: translateX(-50%);

4)flex布局:如果你想要将某个元素里面的内容居中,那么这个元素设置——

display: flex;

justify-content: center;

这样一来,子元素就不用加class了,即使是多个子元素。

(此处建议学习贯通flex布局,对写静态页面有很大帮助)

垂直居中(父元素要有高度,就是要有固定高,即使是自适应的固定高):

1)行内元素:line-height:当前元素高度; (注意,设了边框的元素可能会有一些偏移(box-sizing导致),把line-height高度减去两个边框宽度就好了)

2)绝对定位式:

父元素——position: relative;

子元素——

position:absolution;

top: 50%;

transform: translateY(-50%);

3)flex布局:

display:flex;

alin-items: center;

水平垂直居中:把上面两个涉及到相同属性的,结合一下就好了。

  1. 清除浮动

  2. 外边距坍塌

  3. 盒子模型

  4. em和rem

  5. BFC

  6. position定位

  7. css初始化

  8. 自适应布局

  9. css优化

JavaScript

  1. typeof返回数据类型

  2. 强制类型转换

  3. this

  4. 创建对象

  5. 数组去重

  6. 判断是否为数组

  7. 原型

  8. 事件代理

  9. 同步异步

  10. js执行机制

  11. 浅拷贝和深拷贝

  12. http和https

  13. ajax

  14. promise

Vue

1、生命周期

Vue实例从创建到销毁的过程,就是生命周期;

八个阶段:创建前后、加载前后、更新前后、销毁前后;

每个阶段对应有事件钩子(钩子函数),挂载不同事件使Vue实例形成更好的逻辑

首次页面加载会执行前四个钩子;

data数据在创建后(created)可操作,可执行异步操作;

dom在加载后(mounted)才可操作。

(细节)生命周期钩子的一些适配场景:

beforecreatd:可加loading事件;

created:初始化完成时的事件,如结束loading事件,异步请求;

mounted:挂载元素,获取dom结点;

updated:对数据统一处理;

beforeDestory:可以加一个是否销毁(关闭)的确认框;

nextTick:更新数据后立即操作dom

  1. MVVM

  2. Vue核心

  3. v-for和v-if

  4. watch和computed

  5. data为什么是函数

  6. 路由跳转方式

  7. 跨域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值