后话
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
对于面试,说几句个人观点。
面试,说到底是一种考试。正如我们一直批判应试教育脱离教育的本质,为了面试学习技术也脱离了技术的初心。但考试对于人才选拔的有效性是毋庸置疑的,几千年来一直如此。除非你有实力向公司证明你足够优秀,否则,还是得乖乖准备面试。这也并不妨碍你在通过面试之后按自己的方式学习。
其实在面试准备阶段,个人的收获是很大的,我也认为这是一种不错的学习方式。首先,面试问题大部分基础而且深入,这些是平时工作的基础。就好像我们之前一直不明白学习语文的意义,但它的意义就在每天的谈话间。
所谓面试造火箭,工作拧螺丝。面试往往有更高的要求,也迫使我们更专心更深入地去学习一些知识,也何尝不是一种好事。
============================================================
复杂的数据类型–传址: 传递了数值和地址,共享了一块内存空间
传址的两种方式:
-
浅拷贝
-
深拷贝
浅拷贝: 只拷贝数值,没有拷贝地址。 节省内存,但是因为共享内存,所以相互影响数据
let DadPro = {
name:“张三”,
age:“20”,
sex:“男”
}
let SonPro = DadPro;
SonPro.name = “李四”;
console.log(SonPro);
console.log(DadPro);
深拷贝: 数值和内存都拷贝,相互独立,不彼此影响
let DadPro = {
name:“张三”,
age:“20”,
sex:“男”,
obj2:{
score:“99”,
hobby:“跳舞”
},
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);
其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
《前端开发四大模块核心知识笔记》
最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。