每天2个前端面试题(4)

前端面试题

1、遍历数组,for 和 forEach 哪个快?

时间复杂度都是O(n)

但是for比forEach更快一些

forEach 每次都要创建一个函数来调用,而for不会创建函数

函数需要独立的作用域,会有额外的开销

除去性能考虑,forEach 代码可读性更好

2、vue生命周期

(1)beforeCreate

  • 创建一个空白的Vue实例
  • data method 尚未被初始化,不可使用
    (2)create
  • Vue实例初始化完成,完成响应式绑定
  • data method 都已经初始化完成,可调用
  • 尚未开始渲染模板beforeMount
  • 编译模板,调用render 生成vdom
  • 还没有开始渲染DOM
    (3)mounted
  • 完成DOM渲染
  • 组件创建完成
  • 开始由“创建阶段”进入“运行阶段”
    (4)beforeUpdate
  • data发生变化之后
  • 准备更新DOM(尚未更新DOM)
    (5)updated
  • data发生变化,且DOM更新完成
  • (不要在updated中修改data,可能会导致死循环)
    (6)beforeUnmount
  • 组件进入销毁阶段(尚未销毁,可正常使用)
  • 可移除、解绑一些全局事件、自定义事件
    (7)unmounted
  • 组件被销毁了
  • 所有子组件也都被销毁了
    补充说明——keep-alive组件
  • onActivated缓存组件被激活
  • onDeactivated缓存组件被隐藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值