科学抗白北京中科技术精湛 https://auto.qingdaonews.com/content/2018-06/19/content_20138493.htm想成功就业Web前端工程师,想要高薪就业,不只要掌握Web技能,还需懂得面试技巧和面试时常见面试题做好面试时的准备。小科今日整理了五道前端常见面试题及答案解析,希望对您Web前端学习或面试提供参考。Web前端面试题及答案,开课吧Web前端Web前端面试题1:vue有什么生命周期?newVue到vm.destory的经历了什么解析:生命周期:初始化阶段:beforeCreate和create挂载阶段:beforeMount和mounted更新阶段:beforeUpdate和update卸载阶段:beforeDestory和destory过程:当newVue()后,首先会初始化事和生命周期,接着会执行beforeCreate生命周期钩子,在这个钩子里面还拿不到this.el和this.data`;接着往下走会初始化inject和将data的数据进行侦测也就是进行双向绑定;接着会执**create钩子函数**,在这个钩子里面能够拿到this.data还拿不到this.el`;到这里初始化阶段就走完了。然后会进入一个模版编译阶段,在这个阶段首先会判断有没有el选项如果有的话就继续往下走,如果没有的话会调用vm.mount(el);接着继续判断有没有template选项,如果有的话,会将template提供的模版编译到render函数中;如果没有的话,会通过el选项选择模版;到这个编译阶段就结束了。(温馨提示:这个阶段只有完整版的Vue.js才会经历,也是就是通过cmd引入的方式;在单页面应用中,没有这个编译阶段,因为vue-loader已经提前帮编译好,因此,单页面使用的vue.js是运行时的版本)。模版编译完之后(这里说的是完整版,如果是运行时的版本会在初始化阶段结束后直接就到挂载阶段),然后进入挂载阶段,在挂在阶段首先或**触发beforeMount**钩子,在这个钩子里面只能拿到this.data还是拿不到this.el;`接着会执**mounted钩子**,在这个钩子里面就既能够拿到this.el也能拿到this.data`;到这个挂载阶段就已经走完了,整个实例也已经挂载好了。当数据发生变更的时候,就会进入更新阶段,首先会触发beforeUpdate钩子,然后触updated钩,这个阶段会重新计算生成新的Vnode,然后通过patch函数里面的diff算法,将新生成的Vnode和缓存中的旧Vnode进行一个比对,最后将差异部分更新到视图中。当vm.destory被调用的时候,就会进入卸载阶段,在这个阶段,首先触发beforeDestory钩子接着触发destoryed钩子,在这个阶段Vue会将自身从父组件中删除,取消实例上的所有追踪并且移除所有的事件监听。到这里Vue整个生命周期就结束了。Web前端面试题2:Vue中route和router的区别?解析:route是“路由信息对象”,包括path,params,hash,query,fullPath,matched,name等路由信息参数。router是“路由实例”对象包括了路由的跳转方法,钩子函数等。Web前端面试题3:Vue中
转载请注明:http://www.aierlanlan.com/rzfs/7582.html