前端面试题总结

辞去了996的工作,要开始去面试找工作了,准备总结一下前端面试题,用来复习找个理想的工作

1,vue双向绑定的实现原理

      Vue.js 最核心的功能有两个,一是响应式的数据绑定系统,二是组件系统。


前端面试题总结_第1张图片

2.事件修饰符

在事件处理程序中调用 event.preventDefault() 或 event.stopPropagation() 是非常常见的需求。尽管我们可以在方法中轻松实现这点,但更好的方式是:方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。

为了解决这个问题,Vue.js 为 v-on 提供了事件修饰符。之前提过,修饰符是由点开头的指令后缀来表示的。

.stop

.prevent

.capture

.self

.once

.passive


前端面试题总结_第2张图片

使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用 v-on:click.prevent.self 会阻止所有的点击,而 v-on:click.self.prevent 只会阻止对元素自身的点击。

3.Vuejs中关于computed、methods、watch的区别

1#computed:计算属性将被混入到 Vue 实例中。所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例。

2#methods:methods 将被混入到 Vue 实例中。可以直接通过 VM 实例访问这些方法,或者在指令表达式中使用。方法中的 this 自动绑定为 Vue 实例。

3#watch:是一种更通用的方式来观察和响应 Vue 实例上的数据变动。一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名,或者包含选项的对象。Vue 实例将会在实例化时调用 $watch(),遍历 watch 对象的每一个属性。

computed是在HTML DOM加载后马上执行的,如赋值;

methods则必须要有一定的触发条件才能执行,如点击事件;

watch呢?它用于观察Vue实例上的数据变动。对应一个对象,键是观察表达式,值是对应回调。值也可以是方法名,或者是对象,包含选项。

所以他们的执行顺序为:默认加载的时候先computed再watch,不执行methods;等触发某一事件后,则是:先methods再watch。

4.vue生命周期


前端面试题总结_第3张图片


前端面试题总结_第4张图片

5.你在jquery中使用过哪些插入节点的方法,它们的区别是什么?

1.append在文档内添加元素

2.appendTo()把匹配的元素添加到对象里

3.prepend()在元素前添加

4.prependTo()把匹配的元素添加到对象前

外添加

1.after()在元素之后添加

2.before()在元素之前添加

3.insertAfter()把匹配元素在对象后添加

4.insertBefore()把匹配元素在对象前添加

6.let和var的区别

ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效

ES6新增let和const两个变量声明命令,他们都具有如下特性:

1、块局作用域;

2、不存在变量提升,一定声明后才能使用;

3、暂时性死区,在代码块内使用let命令声明变量之前,该变量都是不可用的,不受外部变量影响;

4、在相同作用域范围内不允许重复声明;

const与let不同点在于:

1、const如果声明的变量是简单的值,则不能改变变量的值,修改会报错;

2、const如果声明的是复合类型的变量,则只保证变量地址不变,值可以变;

你可能感兴趣的:(前端面试题总结)