当前位置: 首页 > Web前端 > CSS

前端学习计算机理论知识的好处

时间:2023-03-30 15:40:10 CSS

写这篇文章的目的主要是和一个老前端的交流。我觉得学习计算机理论知识是很有用的,对职业发展很有帮助。他认为应用开发和底层开发是两个不同的东西。前端属于应用开发,学习理论知识是浪费时间。具体细节就不说了,最后不欢而散。但是,我们在一点上达成了共识:学习计算机理论知识并不能让你的业务页面写得更快更好,不是灵丹妙药,也不能解决所有的开发问题。如果你还是入门级的,学这个用处不大,但是学习前端的基础知识比较有用(这句话是给非科班出身的前端)。我觉得学习计算机理论知识对前端有两个好处:知其然,知其所以然,开阔眼界,多维度发展1.知其然,知其所以然。我们都知道在JavaScript中,有两种数据类型,分别是Primitive类型和引用类型。基本类型leta,ba=1b=ab=3console.log(a)//1console.log(b)//3个引用类型leta,ba={msg:'hello'}b=ab.msg='world'console.log(a)//{msg:"world"}console.log(b)//{msg:"world"}为什么基本类型b的值变了,a却没有?而在引用类型中,当b的值发生变化时,a是否也发生变化?如果你学过内存管理和编译原理,你就能理解这个现象。从程序的角度看,内存被抽象为一个一维数组,a和b都在内存中占据一个位置,并在内存中存储各自的值。引用类型不同。在创建引用类型的数据时,需要在堆中分配一块内存,然后返回这块内存的地址。即在a={msg:'hello'}操作中,a存储了一个地址。执行b=a后,a和b指向同一个地址。当执行b.msg='world'这个操作时,这块内存中的值就发生了变化,所以也就不难理解为什么引用类型中b的值发生变化,a也发生变化。以上只是一个例子,还有很多例子就不一一列举了。学习计算机理论知识,让我们不仅能看到程序的表面,更能看到程序计算的本质。想一想,从你写下一行代码开始,经过词法分析、语法分析、机器码生成,最后变成在CPU中执行的指令,你就清楚数据在CPU和内存之间是如何流动的,这种感觉是多么美妙。2、开阔视野,多维度发展。一个好的前端不仅仅是前端。不要只盯着眼前的一亩三分地,更要了解前端之外的知识。在项目开始之前,通常会有一个需求研讨会。如果不懂理论知识,在谈及数据库、服务器、并发等术语时,只能双眼发黑,说不出话来,静静地坐在一旁。但是如果你学会了这些知识,你就可以和他们一起指点江山,你就不再是外人了。在前端方向,理论知识也是有用的。比如babel需要用到编译原理;学习webgl,需要用到图形方面的知识;学完软件工程,你就会明白测试和团队规范的重要性和必要性。说白了,懂计算机理论知识的前端和普通前端看问题的维度是不同的。计算机已经发展了几十年,中间淘汰了无数技术。前端是近几年才流行起来的。也许有一天这个职业会消失。如果发生这种情况,您还能做什么?技术会过时,但理论知识不会过时。只要冯诺依曼系统还在,你学到的东西就永远有用。学好计算机理论知识,不是做前端,而是做其他的。结论计算机理论知识很有用。刚入门的时候先学前端的基础知识,感觉水平差不多,再学计算机的理论知识。更多文章敬请关注