西安面试题汇总

1.vue的生命周期
答:vue的生命周期是vue实例从创建到销毁的一个过程,这个过程包括开始创建-初始化数据-编译模板-挂载dom-渲染-更新-销毁等一系列过程。
beforecreate:实例化,组件通过new Vue()创建出来之后会初始化事件以及他的生命周期,然后呢就会执行beforeCreate这个钩子函数,在这个时候我们的后台数据还没有挂载,只是一个空壳子无法访问到数据和真实的dom,一般情况下我们都不在这个生命周期里面做一些操作
created:挂载数据,绑定事件,然后执行created函数,在这个时候我们已经可以使用到数据也可以去更改数据,在这更改数据不会触发updated函数,在这里可以在渲染前倒数第二次去更改数据
beforeMount:在这个函数中虚拟dom已经创建完成,马上就要渲染,在这里也可以更改数据,不会触发updated在这里可以在渲染前最后一次更改数据的机会,不会在触发其它的钩子函数,一般在这个生命周期里面做一些初始数据的获取
mounted:开始render渲染出真实的dom然后执行mounted钩子函数此刻组件已经出现在页面中,数据和真实的dom都已经处理好了在这个生命周期里面可以操作真实dom等一些事情
beforeUpdate:当组件或者实例的数据更改后,会立即执行beforeUpdate,然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染
updated:当更新完成后执行updated,数据已经更改完成dom也重新render完成,可以操作更新后的虚拟dom
beforeDestory:当经过某种途径调用了$Destory,就会立即执行这个生命周期一般在这做一些善后工作,
destroyed:数据的绑定 监听去掉后只剩下dom的空壳在这做善后也行
2.css动画和js动画的差异
答:css动画相对于js动画来说代码比较简单
css兼容性不是很好,js可以做到很好的兼容
css动画在性能上稍微好一些,浏览器会对css的动画做一些优化
js控制力强可以单帧的控制与变换
js对库比较依赖,代码比较繁琐
综上所述在写动画的时候尽量去选择css
原因:css不用去占js的主线
可以利用硬件加速
浏览器可以对css动画做优化
3.js闭包的理解以及他的作用以及他的优缺点
答:闭包就是一个函数能够访问其函数外部作用域中的变量
闭包的三大特点为:函数嵌套函数
内部函数可以访问外部函数的变量
参数和变量不会被回收

闭包的作用在于可以通过闭包设计私有变量以及方法
总结:闭包是指有权去访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数去访问这个函数的局部变量,闭包的缺点就是常驻内存,会增加内存的使用量,使用不当很容易造成内存泄漏
4.let const 和var 的区别
5.箭头函数和普通函数的区别
6.原型链
7.jq选择器

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值