Vue 面试题
1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?
…
算法
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
- 冒泡排序
- 选择排序
- 快速排序
- 二叉树查找: 最大值、最小值、固定值
- 二叉树遍历
- 二叉树的最大深度
- 给予链表中的任一节点,把它删除掉
- 链表倒叙
- 如何判断一个单链表有环
- 给定一个有序数组,找出两个数相加为一个目标数
…
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666
},
arr:[],
fn:function(){
console.log(“dada”);
},
txt:undefined
}
//JSON.parse(): 这个方法会返回一个新的对象, 以此来达成创建一个
//新地址的目的
//但是通过这个方法完成的深拷贝, 会丢失function(){} 和 undefined
let SonPro = JSON.parse(JSON.stringify(DadPro));
SonPro.name = “王五”;
console.log(SonPro);
console.log(DadPro);
let arr = [];
console.log(typeof arr);
使用封装的深拷贝方法: deepCopy()
//引入
//后续的使用
let SonPro = deepCopy(DadPro);
SonPro.name = “李四”;
console.log(SonPro);
console.log(DadPro);
deepCopy()
function deepCopy(obj){
let newObj = Array.isArray(obj)?[]:{};
//for-in: 会遍历对象和原型以及原型链上的属性和方法
//但是我们做深拷贝的时候,不需要去拷贝原型链的内容
for(let key in obj){
//hasOwnProperty(): 用来检测指定的内容是否是自身,返回布尔值
if(obj.hasOwnProperty(key)){
//判断是否是对象(复杂数据类型)
if(typeof obj[key] === “object”){
//如果内部的数据,依然是个对象
//再调用自身,重复检测赋值一遍
newObj[key] = deepCopy(obj[key]);
}else{ //简单的数据类型
newObj[key] = obj[key];
}
}
}
//最后,将我们检测并赋值的新对象返回! 达成新内存的目的
return newObj;
}
============================================================
最后
喜欢的话别忘了关注、点赞哦~
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**