前端面试题回答(vue) - 草稿

1:说明一下使用vue对项目开发的好处

vue框架采用了渐进式开发的原理,就是你项目需要什么,就导入什么,可以用在大项目上,在个人项目上也有很好的体验。组件化开发,使界面复用性得到提高,spa技术,只有一个html界面,变化效果通过路由组件的切换产生,不会导致界面的刷新。双向绑定技术,使我们可以将代码集中在逻辑上,而不是dom节点的操作上,提高了性能

2:讲解一下mvvm模式的基本了解

mvvm是一种设计模式,讲究的是由数据和界面变化的双向绑定,其中m代表model数据 v代表视图 vm viewmodel代表数据和视图之间的中间逻辑操作

3:数据双向绑定的基本原理

首先,我们通过observe中的defineProperty方法为每一个data添加set和get方法,每一个data创建一个dep发布者,里面存放所有的订阅者watcher(存放着使用该data的节点信息,每一个使用到data的元素节点都是一个watcher)。当界面的set属性被调用的时候,我们通过dep轮训的去调用其中所有的订阅者watcher,从而达到双向绑定的过程

4:虚拟dom是什么,为什么要引入虚拟dom

虚拟dom就是在真实dom之前通过js代码模拟出来的一个虚拟dom树结构,每当set调用时,我们不在直接去操作真实的dom结构,而是通过新虚拟dom和旧虚拟dom树之间进行比较后,得到最优化的方法,最后在得到真实dom去渲染界面

5:diff算法的基本过程,为什么需要在节点上添加key的操作

diff算法首先会判断节点的key和节点类型是否相同,如果不同,则直接

6:讲解一下computed和watch的区别

computed是计算属性,一定要return,并且没有参数传递,watch有参数传递,并且不用return 渲染顺序

7:vue有哪几个生命周期,不同的生命周期最适合分别适合做哪些操作

创建前后,挂载前后,销毁前后。创建data 挂载dom操作

8:初次渲染界面触发的生命周期有哪些,如果引入update会产生什么变化

创建前后,挂载前后,引入update会添加updated和unupdated。退出界面并不会进行destory操作

9:$nextTick的作用

微任务,在所有同步动作做完之后进行的操作

10:如何获取路由传过来的值

this.$route.params,路由有query和params

11:路由有哪几种导航钩子

全局导航钩子,组件导航钩子

12;路由导航的两种模式,他们俩的区别

hash和history,底层不同,#问题,存在请求不同

13:vuex有哪几种属性,分别是用来干什么的

mount getter modules action

14:.native的作用

.native 可以在父组件使用子组件的情况下,自定义的创造出一个事件,不被子组件当成自定义事件

15:事件冒泡的过程,在vue中如何防止事件冒泡

在父节点和子节点拥有同一个动作事件时,当子组件触发一个事件,该事件会像跑跑一样向上传递,使得父节点也会触发该事件的回调函数,我们在vue中可以通过.stop的方式进行防止事件冒泡

16:路由组件和普通组件的区别和使用场景

路由组件是指能够通过路由跳转的组件,一般路由组件里面包裹着普通组件,普通组件的使用通过定义components的方式进行获取

17:父子组件之间的通信问题

父传子通过props进行参数的传递,子传父通过emit和自定义动作的方式进行数据的传递

18:为什么v-for里面一般不嵌套v-if v-for和v-if的优先级

在vue2中,v-for的优先级大于v-if,所以会将组件全部渲染出来,然后再交给if进行判断是否要删除,这样子大大浪费了性能

19:vue组件的渲染步骤,compiler和render渲染的区别

在compiler渲染的过程中,会先将template转换成抽象语法树,在被编译成render函数,由这个函数构建出一个虚拟dom,由新老虚拟dom通过diff算法进行对比,找出最优化的变化方式去渲染整个界面。而render函数shenglue了前两个步骤,直接从render函数开始进行界面的渲染。之所以能跳过是因为render渲染添加了vue-template-complier插件。每当data的属性触发了set操作,则会进行render的重新渲染

20:ssr的概念

ssr就是服务器渲染,界面的形成由服务器那边进行操作,由前端进行渲染,是与vue渲染界面一种完全不同的方式

21:前端渲染的优化

尽量减少http请求的发出采用精灵图和节流防抖。组件的懒加载使用=》,还有better-sroller中上滑刷新,下滑加载的概念,不将数据一次全部渲染出来,js文件放在最后面,先加载静态界面。vue keep-active的使用,防止组件的多次重复创建,保证key的唯一性,尽量减少data中的数据

22:v-if和v-show的区别

v-show是调用了display:none来进行元素的显示或者隐藏,而v-if是操作dom节点的消失或者产生来进行变化

23:ref是什么,有什么作用

标记dom节点

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容