以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中无法解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识。
mouseover和mouseenter的区别?
当鼠标移动到元素上时就会触发mouseenter事件,类似mouseover,它们两者之间的差别是
mouseenter不会冒泡。
由于mouseenter不支持事件冒泡,导致在一个元素的子元素上进入或离开的时候会触发其
mouseover和mouseout事件,但是却不会触发mouseenter和mouseleave事件。
.let和const的注意点?
1.声明的变量只在声明时的代码块内有效
2.不存在声明提升
3.存在暂时性死区,如果在变量声明前使用,会报错
4.不允许重复声明,重复声明会报错
Map和WeakMap结构?
1.Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不
限于字符串,各种类型的值(包括对象)都可以当作键。
2.WeakMap结构与Map结构类似,也是用于生成键值对的集合。但是
WeakMap只接受对象作为键名(null除外),不接受其他类型的值作为
键名。而且WeakMap的键名所指向的对象,不计入垃圾回收机制。
策略模式是什么?
策略模式主要是用来将方法的实现和方法的调用分离开,外部通过不同的参数可以调用不同的策
略。我主要在MVP模式解耦的时候
用来将视图层的方法定义和方法调用分离。
Vue的生命周期是什么?
Vue的生命周期指的是组件从创建到销毁的一系列的过程,被称为Vue的生命周期。通过提供
的Vue在生命周期各个阶段的钩子函数,我们可以很好的在Vue的各个生命阶段实现一些操
作。