应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

2022最新Web前端经典面试试题及答案VUE篇

  1、为什么选择VUE,解决了什么问题?
  vue。js正如官网所说的,是一套构建用户界面的渐进式框架。与其它重量级框架不同的是,vue被设计为可以自底向上逐层应用。vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另外一方面,当与现代化工具链以及各种支持类库结合使用时,vue也完全能够为复杂的单页应用提供驱动。
  vue。js有声明式,响应式的数据绑定,组件化开发,并且还使用虚拟DOM等技术,统一编程规范和模块等,将项目功能模块化更方便组织和构建复杂应用,便于项目的扩展和维护。vue框架维护及时,且Vue3将在2022年2月7日成为新的默认版本。2、如果加入keepalive,第一次进入组件会执行哪些生命周期函数?
  会执行的钩子函数以及它们的顺序分别为:
  beforeCreat、created、beforeMount、mounted、activated3、key的作用和工作原理。
  key的作用主要是为了高效地更新虚拟DOM,其原理是vue中在patch过程中,通过key可以精准判断两个节点是否是同一个,从而避免频繁更新不同元素,使得整个patch过程更加高效,减少DOM操作量,提高性能。
  另外,若不设置key还可能在列表更新时,引发一些隐蔽的bug。vue在使用相同标签名元素的过滤或切换时,也会使用到key属性,其目的也是为了让vue可以区分它们,否则vue只会替换其内部属性而不会触发过滤效果。4、vif和vfor的优先级哪个高?
  vfor的优先级更高。
  如果vif和vfor同时出现,每次渲染都会先执行循环,再判断条件,无论如何循环都不可避免,浪费了性能。
  情景一:每次遍历时,都需要执行vif解析一次,浪费性能。ullivforuserinusersvifshouldShowUsers:keyuser。id{{user。name}}liul
  要避免出现这种情况,则在外层嵌套template,在这一层进行vif判断,然后再内部进行vfor循环。可以改为:ultemplatevifshouldShowUserslivforuserinusers:keyuser。id{{user。name}}litemplateul
  情景二:vif和vfor同时出现在一个标签,过滤一个列表中的项目,比如:ullivforuserinusersvifuser。isActive:keyuser。id{{user。name}}liul
  在这种情况下,请将users替换为一个计算属性,让其返回过滤后的列表。ullivforuserinactiveUsers:keyuser。id{{user。name}}liulcomputed:{activeUsers:function(){returnthis。users。filter(function(user){returnuser。isActive})}}5、谈谈对vue组件化的理解。
  5。1、组件化的定义
  组件是独立和可复用的代码组织单元,组价系统是vue核心特性之一,它使开发者使用小型、独立和通常可复用的组件构建大型应用。
  也可以通俗介绍,把一些用户在程序中一些独立的功能和模块单独提取出来,然后切分为更小的块,这些块有独立的逻辑,有更好的复用性。
  组件按照分类有:页面组件(导航)、业务组件(登录)、通用组件(输入框)。
  5。2、组件化特点
  vue的组件是基于配置的,通常编写的组件是组件配置而非组件,框架后续会生成其构造函数,它们基于VueComponent这个类扩展于vue。
  常见的组件化技术有:prop属性、自定义事件、插槽等,这些主要用于组件之间的通信等。
  组件之间遵循单向数据流原则。
  5。3、组件化的优点
  组件化的开发能大幅提高开发效率、测试性和复用性等。
  合理的划分组件能够大幅提升应用性能,组件应该是高内聚,低耦合的。6、为什么data在组件内必须是函数,而vue的根实例则没有此限制?
  vue组件可能存在多个实例,如果使用对象形式定义data,则会导致它们公用一个data对象,那么状态变更将会影响所有组件实例,这是不合理的。
  如果采用函数的形式,在实例化组件时,data会被当做工厂函数返回一个全新的data对象,有效规避多实例之间状态污染问题。
  所以在组件中的data必须是函数,不能使用对象形式。那为什么vue根实例没有限制呢?
  在vue中根实例只能有一个,所以不需要担心多实例的问题,所以根实例中的data可以是函数也可以是对象。7、你了解哪些vue性能优化的方法?
  我所了解的vue性能优化方法分别有:
  1、路由懒加载Vue。use(VueRouter)传统写法importHomefromviewsloginindex。vue路由懒加载constLogin()import(viewsloginindex。vue)constrouternewVueRouter({routes:〔{path:login,component:Login},{path:home,component:Home},〕exportdefaultrouter
  使用路由懒加载,项目打包的时候体积会大幅减小,访问项目时,这些组件也会按需进行加载,大大提升了项目性能。
  2、keepalive缓存页面templatekeepaliverouterviewkeepalivetemplate
  使用keepalive之后会缓存页面,第一次加载之后,关闭再次打开,页面不会重新渲染。keepalive的属性:include:字符串或正则表达式。如果只缓存个别页面,可以使用include属性,只缓存匹配组件。exclude:字符串或正则表达式。如果个别页面不需要缓存时,可以使用exclude属性,任何匹配的组件都不会缓存。
  3、vfor遍历避免同时使用vifullivforuserinactiveUsers:keyuser。id{{user。name}}liulcomputed:{activeUsers:function(){returnthis。users。filter(function(user){returnuser。isActive})}}
  4、长列表性能优化
  如果列表是纯粹的数据展示,不会有任何的改变,就不需要做响应式。exportdefault{data(){return{users:〔〕}},created(){constuserawaitaxios(apiuser)this。usersObject。freeze(user)}}
  Object。freeze()方法可以冻结一个对象,对象被冻结之后不能被修改,可以让性能大幅度提升。
  如果是大数据长列表,可采用虚拟滚动,只渲染少部分区域的内容。可采用三方vuevirtualscroll。
  5、事件的销毁
  vue组件销毁时,会自动解绑它的全部指令及事件监听器,但是仅限于组件本身的事件。created(){this。timersetInterval(this。refresh,2000)},beforeDestory(){clearInterval(this。timer)}
  6、图片懒加载
  对于图片过多的页面,为了加快页面的加载速度,所以很多时候,需要把未出现在可视区域的图片暂不进行加载,滚动到可视区域之后再开始加载。
  可以使用三方的vuelazyload库。imgvlazysrcimg01。jpg
  7、第三方插件按需引用
  使用三方库时,可以按需引入避免体积太大。比如elementui:import{Button}fromelementui
  8、无状态的组件标记为函数式组件templatefunctional组件内容template
  通过functional将组件标记为函数式组件,因为函数式组件没有实例,所以运行时耗费资源较少。
  另外还有vshow复用DOM、子组件分割、SSR等。8、computed与methods、watch的区别?
  computedVSmethodscomputed:{yyds(){log(computedshow)return计算属性}},methods:{show(){log(methodshow)return计算属性}}
  computed是计算属性,methods内都是方法,所以调用不同分别为:yydsshow()
  computed是有缓存的,而methods没有缓存,所以computed性能比methods的好。
  computedVSwatch
  computed是计算某一个属性的改变,如果某一个值改变了,计算属性会监测到,然后进行返回值。
  watch是监听某一个数据或路由,改变了才会响应,只有改变了才会执行操作。9、你怎么理解vue中的diff算法?
  1。diff算法是虚拟DOM技术的必然产物:通过新旧虚拟DOM作对比(即diff),将变化的地方更新在真实DOM上;
  另外,也需要diff高效的执行对比过程,从而降低时间复杂度为O(n)。(what)
  2。vue2。x中为了降低Watcher粒度,每个组件只有一个Watcher与之对应,只有引入diff才能精确找到发生变化的地方。(why)
  3。vue中diff执行的时刻是组件实例执行其更新函数时,它会比对上一次渲染结果oldVnode和新的渲染结果newVnode,此过程称为patch。(where)
  4。diff过程整体遵循深度优先、同层比较的策略;两个节点之间比较会根据它们是否拥有子节点或者文本节点做不同操作;(How)
  比较两组子节点是算法的重点,首先假设头尾节点可能相同做4次比对尝试,如果没有找到相同节点才按照通用方式遍历查找,查找结束再按情况处理剩下的节点;
  借助key通常可以非常精确找到相同节点,因此整个patch过程非常高效。10、props和data的优先级谁高?
  vue组件内数据相关的属性它们的样式优先级从高到底分别为:
  propsmethodsdatacomputedwatch11、vue组件之间的通信
  vue组件之间的关系有:父子关系、兄弟关系、隔代关系。
  所以vue组件之间的通信可分为:父子组件之间通信,兄弟组件之间通信和跨层组件之间通信。
  1、父传子
  可使用的方法有:通过props传值通过refs传值通过children传值
  2、子传父
  可使用的方法:emit自定义事件provide和inject
  3、兄弟组件之间利用中央事件总线bus的emit和on。笨办法,通过父组件共同传值
  4、跨层组件provide和inject
  5、没有关系的组件之间通信可以使用vuex进行数据管理

我在伊春汤旺河镇避暑,小镇12公里外就是5A景区,20天然大蜀黍在伊春汤旺河镇避暑,这一次住在九鑫山珍度假村,那里距离国家5A级景区汤旺河林海奇石风景区仅有12公里。我当然不能错过了它,迫不及待地要去感受小兴安岭奇石的魅力和森林的幽静与……文化遗产如何变成数字资产?网易世纪华通等游戏龙头发力文旅每经记者:杜蔚每经编辑:张海妮点击进入七十二奇楼文旅小镇的房间,就能看到不同文化元素,在这里不仅可以驻足打卡,还能打一局游戏,获得的虚拟积分可以到张家界线下景区消费。一个……年龄越大,骨头越脆?劝告四类偷钙食物,需留心上了年纪,身体逐渐变得没有年轻那般强壮,身体机能出现一些退化容易疲劳,精神不足以及骨头脆弱。面对这种情况,很多人都疑惑,老年人为什么出现骨头脆?其实这个问题也很简单,就是……夜读不与别人比较,过自己的生活从小到大,我们总是喜欢与别人争个高低,分个高下。年幼时,比家庭,上学时,比成绩,毕业后,比工作,结婚后,比收入。只要能想到的,大到人生大事,小到一个装饰品,都能够拿……印度航空与空客和波音就采购飞机展开谈判中国航空新闻网讯:据路透社11月19日报道,塔塔集团旗下的印度航空表示,正与波音和空客就订购新飞机进行谈判,并计划通过租赁飞机和维修停飞飞机的方式来满足目前的需求。目前,印度航……一眼便沦陷的四句关于秋天的诗句这几天气温骤降,去江边散步的时候,风一阵一阵地吹着,带着冷意,吹动着江边的芦苇,远处的山显得苍老了许多,现在,窗外还在下着清冷的雨,已经能明显感觉到秋意了。秋天是思绪万千……一个人若走投无路,就放他去喝茶万言国学,与你一起,品读万卷经典,博古言今,做更好的自己当你感到疲惫的时候,为什么强烈建议去喝茶?很多人以为,喝茶不过是解渴而已,其实,茶还能给人的身心带来治愈的感……德云社张霄白官宣恋情,女方是金牌运动员杨艺,情话公开惹人羡慕11月19日,德云社相声演员张霄白在个人账号上晒出一张女子照片,官宣了自己的新恋情,引发了网友的热议。张霄白晒出的,是一张女排运动员的定妆照片,祝福对方在新的赛季要加油,……人们为什么修心那么难,因为有些卡点很难跨越人们为什么修心那么难,因为有些卡点很难跨越!比如说一人记住另一个人说了他不好,或者骂了他,记住一天就等于骂了一天,而回忆一次产生的每一个起心动念就等于又骂了一次。而人弹指间刹那……中国四大佛教名山之峨眉山峨眉山位于四川省西南部,是中国四大佛教名山之一。地势陡峭,风景秀丽,素有峨眉天下秀之称,山上的万佛顶最高,海拔3099米。具有雄、秀、奇、险、幽的特色,以优美的自然风光、悠久的……本届秋冬以油养肤决赛圈大佬,是这个新品MADAMSDAILY奔波的双11行程随着一大波尾款支付,也终于告一段落。过去的周末小小地获得短暂的休憩,翻翻感兴趣的书,漫无目的得刷刷手机,午觉打个盹儿,是不必焦……ESG公募基金周榜05期指数型产品逆袭占据总榜半数ESG主题每经记者:黄宗彦每经编辑:梁枭2022年10月,每经品牌价值研究院构建ESG公募基金数据库,并推出ESG公募基金周榜,通过追踪ESG基金表现、分析排名及变动背后可能的原因……
大冷门!17岁天才少年林诗栋13惨败!他真的能接班张继科吗?12月8日,从突尼斯2022年世界乒乓球青年锦标赛传来了新消息,好坏参半:1)中国乒乓球国家队的天才少年、17岁的国家队主力一线队员林诗栋在男团半决赛中,输球了!林……张屹峰中国如何应对俄乌冲突后的地缘经济竞争?导读:今年是共建一带一路倡议提出9周年。11月10日至12日,第六届一带一路与全球治理国际论坛在上海举行,本届论坛以新机遇新挑战:新时代的‘一带一路’与全球治理为主题。本文为复……老年人想要身体健康,这5件事千万不能做太久,一定要注意长久一词蕴含着人们对美好事物的追求和向往,健康要长久、幸福要长久、寿命要长久可是,老年人想要健健康康的,这些事情千万不能做太久!行走不能太久原因:老年人全身肌……31!7000万巨星闪耀,米兰创2大里程碑,皇马赢球榜首北京时间9月15日凌晨,欧冠小组赛第2轮继续进行,E组一场焦点战,AC米兰坐镇主场迎战萨格勒布。F组方面,凯尔特人客场挑战顿涅茨克矿工。AC米兰31萨格勒布AC米兰……化身真无边框,部分戴尔XPS13Plus出现屏幕脱落问题作为Windows赫赫有名的高端笔记本代表之一,戴尔XPS13系列一直以来深受目标用户的喜爱,其出色的外观设计和独特的产品定位,更是让它成为不少用户心中的白月光。不过最近……白癜风能用化妆品遮住吗爱美之心,人皆有之,白癜风首先带给我们的是外在形象的损害,于是很多患者选择了用化妆品来遮盖自己的暴露的白斑部位。那么,白癜风能用化妆品遮住吗?首先,白癜风患者尽量不要使用……写给未来小学毕业的儿子题记:这是儿子幼升小时,应学校要求,写给儿子参加未来小学毕业典礼的一封信。怕丢失,上传网络平台,以示念想,也权作备份心爱的宝贝小子:今天是你小学毕业的日子,你即将从……一花一祝福,早晨一声好,问候一份情,顺心没烦恼,健康快乐美一花一世界,一花一祝福:最美好的时刻,是来自清晨一声亲切的问候;最美好的时光,是来自晨曦一阵悦耳的祝福;最美好的时候,是来自朋友一份温馨的惦念。盛年不重……假如恢复正常,真的会出现报复性旅游吗?早在今年7月就有了答案恢复正常也没人会旅游。就拿我来说我吧,我会把钱攥得死死的,再也不乱花钱了。旅游不去,看电影不去,衣服不会买,车子也不买,楼也不买。总之想让我花钱,门儿没有。在我写的一个关……游记佛山故地重游上次给大家说了惠州,这次就说下佛山吧。惠州是我第一次去玩,佛山不一样,故地重回的感觉。因为佛山我太熟悉了。我十八岁开始就在佛山打工,中途去了深圳一两年,后面几年又回到佛山……腾讯汤道生做好企业数字化助手,催生产业冠军要着力发展实体经济,依靠创新培育壮大发展新动能。推动传统产业改造升级,支持战略性新兴产业和现代服务业发展,促进大众创业万众创新纵深发展,最大限度释放全社会的创新创造潜能。在日前……这样做,让你不再怕阳我本人昨天阳了,昨天下午三点开始发烧38今天早上起来就恢复正常了。分享几点可以有用1。在没阳之前,我就开始服用感冒灵和感康了,用量半剂。2。一周前因为口腔溃疡,吃了……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网