前端面试-总结2

前端面试-总结2

  • ts中的元祖是什么?
    如果js数组中元素类型不一样,在ts中成为元祖;如果js数组的元素类型是统一的,就是ts中的数组。

  • this指向问题
    箭头函数的this执行问题不会改变,也就是箭头函数所在的作用域在哪里this就指向哪里;
    new调用函数this指向时,this指向js创建的新对象;

  • 修改this指向
    bind修改this指向,bind会创建函数实例,返回一个新的函数,需要手动调用才会执行;
    call,apply修改this指向,唯一区别在于接收参数不同,call是参数数量且顺序确定使用,apply则是参数数量顺序不确定用,他们两个都会直接调用函数执行;

  • vue3的7中组件通讯方式
    props用于子接收父的数据
    emit用于子传父
    v-model用于子传父
    refs在vue3中需要借助生命周期使用等到模板挂载之后使用mounted获取元素
    provide和inject,父传子的数据传递
    事件总线,官方不再维护
    状态管理工具vuex或者pinia

  • 如果现在有一个父组件,3个子组件。 每个组件展示的数据不同, 现在有2种数据获取方式。
    第一种,在父组件中获取所有的数据,然后使用props传递给每个子组件。 第二种:各个子组件中获取各自的数据。 你觉得哪种好?为什么?

    答:根据实际业务来
    如果数据其他组件用不到,那么可以由子组件自己获取,
    如果数据可能被同级组件 复用 共享 那么由父组件统一获取然后分发下去

  • vue3和vue2有什么区别
    生命周期变化:setup替代原有的created和beforecreate,销毁生命周期使用onberforeUnmount和onunmounted替代
    多根节点:vue2中模板下会有div
    组合式api和选项式api:setup包含所有内容,并且按需引入
    响应原理不同:vue3使用proxy,vue2中不能监听对象和数组的增删,使用vue.set监听对象、数组的新增属性
    更好地ts支持:vue2中需要使用vue-class-component强化vue原来的组件,也需要vue-property-decorator增加更多装饰器

  • 伪类和伪元素
    :hover和:active,:focus,:link 伪类使用单冒号
    ::before和::after等伪元素,伪元素使用双冒号

  • 原型,原型链,构造函数,实例的关系
    原型:用来生产实例对象。需要函数的prototype属性和实例的__proto__属性来区别。
    原型链:原型对象有个指针指向构造函数,实例对象又有一个指针指向原型对象,就形成了一条原型链,最终指向null
    实例:实例是通过构造函数创建
    构造函数:一个普通的函数前面加了new运算符,其本质也是一个函数,所以构造函数都有函数的prototype属性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值