前端面试小笔记来啦

1.HTML语义化标签有哪些?列举HTML5新标签。

语义化标签:标题标签h1~h5,列表ul,ol标签,强调strong,斜体em,p标签,table标签等

HTML5新标签:1.新增的语义化标签header,footer,nav,content

  2.音频audio 视频video,绘图canvas等

2.CSS盒模型是什么?选择器有哪些?优先级顺序是什么?CSS3新特性有哪些?

CSS盒模型:由content+padding+border+margin组成,其中content包含内容和图片

CSS盒模型有两类,标准盒模型(width和height只包含内容)

IE怪异盒模型(width和height包含了border和padding)

选择器:id选择器,类选择器,标签选择器,伪类选择器,伪元素选择器等

优先级:!Important>内联样式>id选择器>类选择器>标签选择器

CSS3新特性:边框border-radius,阴影box-shadow,文本阴影text-shadow,过度transition, 变换transform,动画animation需要动画帧@keyframes

3.CSS常用的定位方式有哪些?弹性布局Flex及其常用的属性?实现一个元素上下左右居中对齐有哪些方法?

定位方式:固定地位fixed  相对定位relative  绝对定位position

弹性布局flex:容器container 项目:item

             属性:flex-direction:对齐方式  flex-wrap:换行   jusity-content:主轴对齐

                   aligns-items:交叉轴对齐

上下左右居中对齐:margin:auto+定位

                  Text-align:center

  Flex:display:flex  jusity-cintent:center  align-items:center

  Grid:display:grid  jusity-cintent:center  align-items:center

4、响应式布局是什么?实现响应式布局有哪些方法?

一种网页设计布局,它的设计根据用户的行为和设备环境进行响应的调整与布局,同时适配pc端+平板+手机

实现办法:媒体查询 @media处设置viewport

          用%调节

          使用vm/vh相对尺寸

5、重绘和重排是什么?页面的哪些变化会触发重绘和重排?

重绘:计算后各个元素的大小和位置后,绘制到页面上

重排:当dom树某个节点发生改变后,必然会引起页面重新排列dom树

触发重绘:内容变化,元素大小尺寸变化,位置变化,dom树改变

触发重排:dom某个节点的改变,数据的增加删除,页面初识的渲染等

6、localStorage、sessionStorage、cookie分别是什么以及区别?

localStorage:本地存储,保存在服务端,浏览器关闭信息不会消失,只有人为才能删除存储信息,大小5mb

sessionStorage:会话存储,保存在服务端,临时使用,浏览器关闭则信息消失

cookie:保存在客户端,不太安全,最大4kb

7、JS内置对象有哪些?JS的基本数据类型和引用数据类型?JS的类型检测有哪些方法?

内置对象:Math,Date,String等js自身带的

基本数据类型:number,string,boolean,null,undefined

引用数据类型:object,array,function

类型检测:typeOf:返回字符串,不能分别null与object,object与array

  InstantOf:判断具体类型,返回boolean值true和false

  ===:全等,可判断null和undefined

8、ES6常用的新特性?数组常用的方法有哪些?

块级作用域let,const,变量解构赋值,模板字符串${},promise,proxy,扩展运算符...等

数组常用方法:遍历forEach,map,every全为true返回true,keys()遍历index,values()遍历值等

9、讲讲对Vue2前端框架的理解。例如:生命周期,组件通信,Vuex等。

(1)生命周期:在beforeCreate(),只有默认的生命周期和事件,数据代理都还未创建,只有初始化实例

Created(),method和data已经初始化完毕

beforeMount:模板以及创建完毕,但还未加载到页面上

Mounted:将模板挂载到页面上,发送请求,启动定时器,绑定自定义事件时都在此进行,(注意:子组件先挂载父组件都挂载,父给子通信时数据还没过去是undefined,要给子组件一个默认值)

beforeDistory:清除定时器,解绑自定义事件等,但还未完成

Distroyed:销毁定时器,自定义事件等

beforeUpdate,updated时更新数据前后的生命周期钩子

NextTick:当dom更新后循环结束后执行回调函数,数据改变后立即执行

路由独有的,用于捕获路由组件的激活状态Actived:激活deactived:失活

(2)组件通信:props  父->子 props接收

  组件自定义事件  子->父

 全局事件总线  任意组件间通信 安装全局事件总线$bus

 Pubsub消息订阅与发布 任意组件

插槽   任意组件

Vuex   任意组件

(3)Vuex

数据集中管理,多组件间共享数据

State 保存数据  actions:处理事件  mutations:唯一能修改state的地方   getters :简化数据

4个map方法(mapState,mapGetters,mapMutations,mapActions)用来获取数据更方便

使用模块化+命名空间更好管理每个小仓库

10、前端性能优化有哪些方面?防抖和节流是什么?

减少http请求,减少使用闭包,减少页面重排重绘,善用缓存减少重复加载资源

防抖:前面的触发都被取消了,最后一次在规定的事件后才会触发,也就是连续快速触发只会执行一次

节流:在规定的事件内不会触发回调,大于规定的事件才会触发回调,把连续频发的触发变成少数的触发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个文档包含了HTML/css的一些基础,还有JavaScript中的基础语法、DOM、BOM还有一些学习js中面向对象、和移动web开发、AJAX、jQuery的一些总结,还有些Web前端与移动开发面试宝典; 6、什么是事件冒泡/捕获? 事件冒泡: 事件到达事件目标之后不会结束,会逐层向上冒泡,直至document对象,也就是子元素事件的触发会影响父元素的事件; 开关事件冒泡: A,开启事件冒泡:event.addEventListener(eventName,handler,false); B,关闭事件冒泡:假设传统方式事件的返回值为e,就可以通过e.stopPropagation()来关闭事件冒泡; C ,return false; 同时具有阻止冒泡和阻止默认行为的功能 事件捕获:父元素的事件会影响子元素的事件; 开启事件捕获:event.addEventListener(eventName,handler,true) 7、请说说事件委托机制?这样做有什么好处? 事件委托,就是某个事件本来该自己干的,但是自己不干,交给别人来干。就叫事件委托。 打个比方:一个 button对象,本来自己需要监控自身的点击事件,但是自己不来监控这个点击事件,让自己的父节点来监控自己 的点击事件。 优点: A,提高性能:列如,当有很多li同时需要注册事件的时候,如果使用传统方法来注册事件的话,需要给每 一个li注册事件。然而如果使用委托事件的话,就只需要将事件委托给该一个元素即可。这样就能提高性能。 B,新添加的元素还会有之前的事件; 11、怎么理解jQuery? JQuery就是JavaScript和查询(Query),是一个Javascript库。可以用来操作文档对象、 选择DOM元素、制作动画效果、事件处理、使用Ajax等。 优点: a、轻量级 b、具有强大的选择器 c、封装了大量的DOM操作 d、事件处理机制相当可靠 e、完善的Ajax f、不污染顶级变量 g、出色的浏览器兼容性 h、链式操作方式 i、隐式迭代 j、行为与结构分离 k、支持丰富的插件 l、完善的文档 m、开源 12、Jquery.on这个方法怎么看? 答: jQuery.on()方法可以给匹配元素(可以是多个)绑定一个或多个函数, off 可以解除绑定

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值