千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

1.单向数据流:
只能从父组件传入子组件,子组件必须要用emit才能传入父组件
2.双向数据绑定
vue特性 试图发生改变数据就会发生改变 两个数据流之间互相影响
3.object.defineProperty缺点
无法监听es6的set map变化
无法监听class类型的数据
属性新增或删除无法监听到
数组元素的增加无法监听到
4.MVC MVP MVVM
双向绑定机制 构建和成本减低
5.生命周期
beforeCreate => setup
Created =>setup
beforeMount => onbeforMount 发送请求
mounted =>onMounted
6.vue响应式数据原理
通过object.defineProperty的方法里面的setter与getter方法的观察者模式来实现
在组件初始化时会给每一个data属性注 册getter和setter,然后再new一个自己的Watcher对象,此时watcher会立
即调用组件的render函数去生成虚拟DOM。在调用render的时候,就会需要用到data的属性值,此时会触发getter函
数,将当前的Watcher函数注册进sub里。当data属性发生改变之后, 就会遍历sub里所有的watcher对象,通知它们去
重新渲染组件。
proxy优势:
直接监听对象而非属性 可以之间接听数组的变化
proxy返回一个新对象我们可以只操作新的对象达到目的
object.defineProperty优势
兼容性好 支持IE9而proxy的存在浏览器兼容性问题 无法用polydill来弥补
7.Composition API的出现带来那些的开发体验 为啥需要这个
提高了可读性 和 可维护性
8.对比jQuery vue有什么不同
jQuery专注视图层 通过直接操作dom去实现逻辑
vue专注数据层 提供开发效率 协同开发 通过数据双向绑定 最终表现在dom层面 减少了dom
9.vue单文件组件里样式如何定义全局
在style标签上不加scoped的属性 默认就为全局
10.$root $parent $refs
$root $parent访问父组件属性方法 区别在于如果存在多级组件 通过parent访问他的父组件
通过root访问得到的是跟父组件 通过在子组件标签ref属性在父组件组件中可以使用$refs访问子组件实例
11.vue中怎么自定指令
通过directive来自定义指令 就是操作底层dom的
12、单页面的优缺点
优点: 内容改变不需要重新加载整个页面 web应用更具有响应性和更令人着迷
没有页面之间的切换 就不会出现“白屏现象” 也不会出现假死并有“闪烁”现象
对服务器压力小 服务器只用出现数据就可以 不用管展示逻辑和页面合成
前后端分离 后端不负责页面渲染
缺点:首次加载时间过长
SEO问题 不利于百度 360等搜索引擎收录
容易造成css命名冲突
13.keep-alive
是vue内置组件 可以是被包含的组件保留状态 避免重新渲染