1 。请说一下响应式数据的理解?核心答案:【前端培训:Vue 面试题分享】数组和对象类型当值变化时如何劫持到 。对象内部通过defineReactive方法,使用Object 。defineProperty将属性进行劫持(只会劫持已经存在的属性),数组则是通过重写数组方法来实现 。
这里在回答时可以带出一些相关知识点(比如多层对象是通过递归来实现劫持,顺带提出Vue3中是使用proxy来实现响应式数据)
补充回答:内部依赖收集是怎样做到的,每个属性都拥有自己的dep属性,存放他所依赖的watcher,当属性变化后会通知自己对应的watcher去更新 (其实后面会讲到每个对象类型自己本身也拥有一个dep属性,这个在$set面试题中在进行讲解)
这里可以引出性能优化相关的内容 (1)对象层级过深,性能就会差 (2)不需要响应数据的内容不要放到data中 (3) Object 。freeze() 可以冻结数据
推荐阅读
- 快手、吉比特等成立创投合伙企业,注册资本1亿元
- 【媒体管家上海软闻】各类活动直播媒体方案包含哪些?
- 橱柜拉篮怎样摆放东西 橱柜拉篮使用小技巧
- Facebook账号容易被封?看看方舟出海Facebook系统如何做?
- 选择云MSP服务商标准?青莲云MSP
- 你们说,到底是考华为认证好,还是红帽认证好?
- 想知道SCRM和CRM的本质区别是什么吗
- 黄瓜上的花为什么有红色的
- 如何在尼康相机里看照片参数