1.什么是虚拟DOM
虚拟DOM是真实DOM的映射,映射成object,使用object描述节点的各种信息,然后在通过render方法将其渲染成真是的DOM节点,用JSON模拟真是的DOM,用来提升性能
优势:虚拟DOM是相对于浏览器所渲染出来的真实dom而言的,在React和vue等技术出现之前,我们要改变页面结构只能通过遍历查询dom树的方式找到需要修改的dom然后在修改样式行为或者结构。相对于真实的dom树节省性能
2.Vue的设计模式是什么,原理是什么?
MVC模式:模型、视图、控制器
将业务、数据、视图分离的方式组织架构代码,方便开发和维护
MVP模式:模型、视图、管理器
所有层次的交互都发生在管理层,从而降低了模型层和视图层之间的耦合关系,提升了灵活性和复用性。所有的操作都在管理层,所以必须创建管理器才能实现需求
MVVM模式:模型、视图、视图模型层
开发者只需要通过操作html就能创建视图实现页面的需求
3. Vue的插值语法?
{{}}、v-text、v-html
能够自动读取data中定义的属性
4. 组件化编程的优势?
提高了代码的复用率
提高了运行速度
5.什么是响应式数据?
能够捕获到数据的变更
变更数据后会自动更新所有依赖于它的数据
6. v-if和v-show的区别?
v-if是真正的渲染,没有的代码中就没有
v-show是通过display:none来控制,代码中有该标签通过none隐藏了不显示
注意:v-for和v-if不要同时使用
7.双向绑定的原理?
给输入框绑定输入事件
触发输入事件,修改响应式数据
响应式数据发生了修改,触发setter函数
在setter函数中,找使用了该函数的DOM,修改DOM内容
8.数组的方法
push 末尾添加
pop 末尾删除
shift 首位删除
unshift 首位添加 返回:数组长度
join 连接符
reverse 翻转数组
concat 合并数组 返回:合并后的数组
indexOf 数据查索引 返回:合并后数组
lastindexOf 数据查索引 从右到左
slice 截取(开始,结束)
splice 删除并插入
sort 排序
forEach 遍历数组 参数:回调函数
map 遍历并修改 返回:新数组
filter 遍历并筛选 返回:为true的数据
some 遍历并验证 返回:布尔值 遇true即停
every 遍历并验证 返回:布尔值 遇false即停
reduce 归并 返回值:最后一次回调函数的返回值
includes(searchElement,fromindex)方法用来判断一个数组中是否包含一个指定的值 返回值:布尔值
9. 字符的方法
charAt 索引查字符
indexOf 字符查索引
slice 截取片段
substr 截取个数
substring 截取指定位置
concat 字符串拼接
replace 查找并替换
charCodeAt 转unicode编码,索引
toUpperCase 转大写
toLowerCase 转小写
search 正则查索引
match 正则查索引