前端面试题整理

1.盒子模型

盒子模型分为两种

标准盒模型:content+2padding+2border+2margin

怪异盒模型:content+2margin

利用box-sizing:border-box(标准盒模型)/box-sizing:content-box(怪异盒模型)来进行设置

2.冒泡排序

3.数组去重

4.图片水平垂直居中

5.vue动态路由的使用

6.vue的生命周期

开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程。

beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroyed、destroyed

  • beforeCreate中拿不到任何数据,它在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。因为在数据的初始化之前执行,所以打印方法执行结果会报错

  • created中已经可以拿到data中的数据了,但是dom还没有挂载。会判断有无el,如果没有el则停止后面的模板挂载。

    在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。

    使用场景:ajax请求和页面初始化 通常可以拿到挂载的数据和方法,但是因为dom没有挂载,所以无法获取DOM生成的模板,也无法获取html上的DOM

  • beforeMount 和 created 拿到的数据相同 在挂载开始之前被调用:相关的 render 函数首次被调用。

  • mounted中el被创建dom已经更新,vue实例对象中有template参数选项,则将其作为模板编译成render函数,编译优先级render函数选项 > template选项

    使用场景:常用于获取VNode信息和操作,ajax请求

    注意 mounted 不会承诺所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted

  • 由于beforeUpdate和updated使用的比较少,一般用计算属性和watch代替,beforeUpdate数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。 你可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。当我们更改Vue的任何数据,都会触发该函数。

    updated由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
    当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。
    该钩子在服务器端渲染期间不被调用。

    数据更新就会触发(vue所有的数据只有有更新就会触发),如果想数据一遍就做统一的处理,可以用这个,如果想对不同数据的更新做不同的处理可以用nextTick,或者是watch进行监听

  • beforeDestroy实例销毁之前调用。在这一步,实例仍然完全可用。

  • destroyed Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。通常使用计时器在这部销毁

7.vuex的用法

8.父子组件调用的方法

9.vue过滤器的使用方法

10.计算属性和watch的区别及用法

11.闭包

12.css3的常用的方法

13.es6中使用方法

14.vue中路由的拦截方法

完善中......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值