字节跳动内部前端学习笔记在互联⽹上⽕了,在Github标星
31K+,完整版开放下载
前端⼯程师学习路线(给⼤家整理了HTML,CSS,JavaScript等等全套学习资料)
⼀、⼊门前端三剑客
1、HTML
html 学起来还是挺简单的,⽆论你是否有编程基础,我觉得都可以快速⼊门,对于新⼿,我推荐个⼊门的视频看⼀下,然后跟着视频打代码就可以了,⼊门教程随便在⽹上个免费的视频就可以了,随便搜索「html⼊门」即可,或者看菜鸟教程的⼀个⼊门教程也⾏。
看完视频,也可以看⼀下⽂字版的教程,不知道⼤家有没有看过阮⼀峰写过的教程,我觉得他写的教程都很棒,所以这⾥我也推荐下⼤家看⼀下阮⼀峰写的这份 HTML ⼊门教程,可以让你理解的更加透彻:
⼤家切勿眼⾼⼿低,⼀定要跟着视频或者书籍上的案例打代码,写代码的编辑器,我推荐 VS-Code,反正选⼀款你喜欢的编辑器就⾏,现在这些编辑器都有很多插件,像 VS-Code 这些编辑器,⽤好⼀款就可以写各种语⾔的代码了。
2、CSS
没啥好说的,和 HTML 相辅相成,你在学习 HTML 的过程中,其实也⼀直都在接触 CSS,所以你学了 HTML 之后,感觉⼏个⼩时就可以学完 CSS 了,还是⼀样,推荐个视频快速⼊门,不多说。
html 是⼀门标签语⾔,⾥⾯有各种各样的标签,很多初学者学了之后可能就把这些标签忘了,有⼈可能会问,⽼是忘了怎么办?
忘了就忘了,没事的,不需要强⾏记住这些标签,你需要的是:脑⼦⾥有个印象,当你这实现某个功能的时候,你知道 HTML 有某个标签可以实现这样的功能就可以了,然后翻开对应的教程,你能够根据教程使⽤这个标签即可。
⽤的次数多了,也就记住了,所以学完 HTML 和 CSS,⼀定要多多实践,随便打开⼀个⽹页,对着葫芦画瓢,⾃⼰写⼀个和它类似的就可以了。
3、JavaScript
⽐起 HTML 和 CSS,JavaScript 会难⼀些,不过如果你有其他编程语⾔基础,例如学过 C 语⾔,Python 或者 Java 啥的,那学起JavaScript 也是分分钟的事。
前⾯的 HTML 和 CSS,我的推荐⼤家个视频快速⼊门即可,但是对于 JavaScript,假如你时间不是很紧,那么我推荐你⽤书籍系统学⼀下,有些知识,趁着有时间,⼀定要系统学,这样可以打下很深的底⼦,如果你觉得难的话,也可以先⽤视频快速⼊门,之后再回过头来钻研书籍,系统过⼀遍,通过系统学习,你会明⽩很多原理,学到很多设计思想,我看过⼀本《⾼性能JavaScript-中⽂版》,感觉还好,就推荐这⼀本吧。
学了 JavaScript 之后,可以学⼀学 ES6,⾯试貌似也经常会问到,可以看⼀看阮⼀峰写的⼀份⼊门教程:
⼆、框架
⽬前前端⽤的⽐较多的主要有 Vue 和 React ,在学习框架之前,⼀定要先⽤ HTML + CSS + JavaScript 这些做⼀些项⽬,因为这些框架的底层实现,其实就是 JavaScript 实现的,然⽽,居然还有⼈知道如何使⽤ Vue,但没学过 JavaScript,这显然不合适,只有你体验过HTML + CSS + JavaScript ,你才能更好着明⽩ Vue 和 React 的好处。
不过对于初学者,可以先学习 Vue,Vue 可能更好⼊门⼀些,之前实习的时候,被迫学习了⼏天的 vue。你可以去B站⼀些课程或者购买不过你看了课程之后,你去做项⽬的话,其实还是会遇到好多问题的,特别是在⽹络请求那块,在解决问题的过程中,你就能更加理解⼀些原理了。
学到什么程度?
对于初学者,我的⼀半建议就是,跟着⼀份教程,过⼀遍,然后做对应的项⽬即可,之后遇到啥,就去搜索啥,不⽤纠结这个学到什么程度。
想要成为应用架构师
Vue 和 React 随便选⼀个重点学习即可,我推荐 vue,不过学了 Vue 之后,有时间的话,我建议可以了解下 React,快⼊通过视频了解,感觉⼏个⼩时或者⼀两天就够了。
三、数据结构
⽆论你是⾛什么岗位,数据结构都是必须学习的⼀门课程,从⾯试的⾓度来讲,⾯试基本⽐问,特别是校招;从个⼈的提升上来看,学好数据结构与算法,可以让你⾛的更远。
但是,数据结构与算法这玩意,可深可浅,不过我觉得⾄少得掌握如下基础知识:
1、时间复杂度、空间复杂度
2、链表、队列、栈
3、树:初级:⼆叉树,查⼆叉树,进阶:AVL树,红⿊树等,⾄少掌握初级吧。
4、图(图有好多种算法,深度/⼴度搜索,最短路径、最⼩⽣存树等),对于图,其实⽆论是⾯试还是⼯作,都挺少⽤到,学起来也有⼀定难度,假如你时间不多,我觉得可以先不学。
不过如果你是科班的,那么这些我觉得你⼤⼀第⼆学期把这些都学完是最好的了,没学完也问题不⼤,有些⼈可能是先教《离散数学》这本课,为数据结构与算法做铺垫。
python入门教程视屏
书籍推荐:你学过 JavaScript,所以可以⽤ Javascript 来写这些数据结构,⾄于书籍,其实我也不知道推荐啥,⽹上根据⽬录⼀本:把基础数据结构学了之后,我觉得你要保持刷题,这个还是挺重要的,例如可以每天保持刷⼀两道,刚开始刷会挺吃⼒,但后⾯熟练了,就会快很多,不过很多⼈在吃⼒的那会,就放弃了,所以也就有了⼈与⼈之间的差距。
我觉得⾄少把《剑指 offer》刷完吧,刷完之后,可以去把 leetcode 中 top 100 的热门题做了。
当然,如果你想更加系统着学习算法,可以看我之前写的算法学习路线:谈⼀谈算法学习之路
四、计算机⽹络
⽆论是前端开发还是后端开发,说到底都是数据通过⽹络在多台主机之间的交互,⽽且对于前端,计算机⽹络的知识,⽤的可能⽐后端还多,特别是 HTTP 这块,所以呢,计算机⽹络必须好好学,⽽且还得重点学。
五、浏览器⼯作原理
学前端,基本天天和浏览器打交道,因为⽹页上的各种界⾯,都是由浏览器来渲染的,所以还是⾮常有必要学习⼀下浏览器相关的知识。如果你在浏览器按 F12,会出现⼀个「调试」的界⾯
⾥⾯有很多东西,例如各种⽹络请求数据,各种脚本数据,感兴趣的话,可以去研究研究。
那么具体要学习哪些呢?
我觉得⾄少得了解⼀下本地 cookie ,localStorage,SessionStorage 存储吧,还有就是,如何查看⼀个 http 的请求状态,浏览器关闭后会做哪些处理之类的。
总的来说,就是,从我们发起⼀个 http 请求,到页⾯展⽰如初,浏览器都经历了哪些逻辑处理?数据库各大索引的作用
六、进阶
学完了上⾯这些,可以学⼀些帮助我们更好着构建⼀个前端项⽬的⼯具,⽐较常见的有如下⼏种:
Node.js:这个必须学,主要就是可以帮助我们很快着构建出⼀个 web 项⽬,⼀条命令就搞定了,⼊门可以在B站/腾讯课堂看视频。
进阶或者更甚层次了解,⼀般都得看书,⾃⼰⽹上搜⼀本吧。
Webpack:不同浏览器对 JavaScript 的特性⽀持的不⼀致,可以通过构建⼯具把 JavaScript 代码转换成浏览器能⽀持的。使⽤构建⼯具也能够做到性能优化,⽐如压缩代码,这个 webpack 可以了解⼀下,在以后做项⽬的过程中,还是经常⽤到 node.js 和 webpack 的,我觉得刚开始会使⽤就好,后⾯遇到问题了,在通过问题驱动的⽅式去深⼊了解。
七、学习顺序问题
这⾥讲⼀下学习顺序的问题,就是说学习了 html + css + javascript 之后,我是先学习前端的⼀些框架好啊,还是学习数据结构与算法好啊,还是学习计算机⽹络,浏览器⼯作原理好呢?
马斯克:裁员别无选择我觉得这个和你时间有关,假如你还是⼤⼀⼤⼆的话,学校会有数据结构,计算机⽹络的课程,我觉得跟着学校的顺序学就⾏,然后的话,像刷题,我觉得有些东西同时做并不会存在⽭盾,例如我就建议刷题这个时期,长期保持,然后⼀边做其他的。
易语言在线手册总的来说,我觉得也可以按照我说的这个学习顺序来学,然后算法那⼀块,当你学习了 Javascript 之后,就可以穿拆整个过程了。
95页前端初级模块笔记
主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。
html5/css3
HTML5 的优势
transtionHTML5 废弃元素
HTML5 新增元素
HTML5 表单相关元素和属性
CSS3 新增选择器
CSS3 新增属性
新增变形动画属性
3D变形属性
CSS3 的过渡属性
CSS3 的动画属性
CSS3 新增多列属性
CSS3新增单位
弹性盒模型
JavaScript
JavaScript基础
JavaScript数据类型
算术运算
强制转换
赋值运算
关系运算
逻辑运算
三元运算
分⽀循环
switch
while
do-while
for
break和continue
数组
数组⽅法
⼆维数组
字符串
正则表达式
创建正则表达式
元字符
模式修饰符
正则⽅法
⽀持正则的 String⽅法
js对象
定义对象

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。