返回信息流陆陆续续地学习前端两三年了,可依旧是小白,抓不住核心。最近在学习vue.js框架,有部分js语法不太懂,又不想死记硬背,就想再从头学习一边js,彻底学会。有以下四个问题,望大佬指教。
1. 现在学习js,是直接学ES6,还是从ES5学习?个人感觉ES5的语法很奇怪,“闭包”、“变量提升”等等,感觉语法怪怪的,据说是历史原因。而ES6的语法,与主流的Python、Java比较接近,用起来舒服、习惯。
2. 有没有好的js(从基础到深入循序渐进,语言通俗易懂,简介)的教程推荐?目前主流的一些ES6教程几乎都是与ES5对比教学的,对于没有ES5基础的很不友好。
3. 陆陆续续接触前端有3年了,包括css、html、js,始终感觉自己不会,不会的来源是看完教程后,想自己实现一个功能,比如在线ps(图像处理算法暂且不论),仍不知如何下手。lz学习其他后端语言的时候很得心应手。请问大家有同样的感觉吗?问题的症结在哪?是前端太难,知识太零碎,还是自己学的时间不够,亦或者没有做大量练习?
4. 如果能给出一个前端学习路径,包括学习所需时长,那就再好不过了,提前说声谢谢!
有一颗积极学习的心,请求大佬指教,学会了请你吃包子,想吃多少就多少。[ema3]
这是一条镜像帖。来源:北邮人论坛 / java-script / #5211同步于 2020/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
JavaScript机器人发帖
【讨论】【问题】3年又200天了,还是没得到你的心
suninthesky
2020/4/20镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
1. ES5肯定要学的啊,ES6会有些新的特性或者新的标识符方法什么的,这些感觉都可以作为提升工作效率的东西。但是学习的过程中也要注意ES6中有的一些小坑,至于一些类型什么的可以在学会前两个基础上去学一下TS。
2. 教程的话..可以看看菜鸟教程里的JS教程,主要是在用的时候思考,边用边学习新知识。可以查查MDN
3. 其实感觉真正做一个东西的时候,我感觉就不止是前端方面的知识了,你一个人要做包括产品、交互、设计的所有的活儿,所以并不像真正工作的时候会有UI给你个设计稿让你去实现就行,那个时候基本上就关注一些技术细节,框架选择等问题了...我也是平时开发后端的,感觉虽然一个Spring Boot或者Flask用的也是挺方便,学起来也不难,但感觉总还是停留在使用的层次,并没有去深入地了解(摊手.jpg)
4. CSS3+H5+ES6 ---> Vue or React + Webpack + Babel --->之后就是看你喜欢哪个方面了,比如数据可视化可以往Canvas动画之类的方向走,移动端可以学习下RN,Flutter这类,偏后端一些可以深入学习Node。但感觉前面这些东西即使不深入也应该学习的,毕竟前端是一直往前走的,总得跟着时代往前走对吧~
谢谢大佬! 看来还是要学习ES5,这下明确了就好了。
菜鸟教程经常遇到,挺不错的。第三点深表同感。第四点学习了!
【 在 FatBird 的大作中提到: 】
: 1. ES5肯定要学的啊,ES6会有些新的特性或者新的标识符方法什么的,这些感觉都可以作为提升工作效率的东西。但是学习的过程中也要注意ES6中有的一些小坑,至于一些类型什么的可以在学会前两个基础上去学一下TS。
: 2. 教程的话..可以看看菜鸟教程里的JS教程,主要是在用的时候思考,边用边学习新知识。可以查查MDN
: 3. 其实感觉真正做一个东西的时候,我感觉就不止是前端方面的知识了,你一个人要做包括产品、交互、设计的所有的活儿,所以并不像真正工作的时候会有UI给你个设计稿让你去实现就行,那个时候基本上就关注一些技术细节,框架选择等问题了...我也是平时开发后端的,感觉虽然一个Spring Boot或者Flask用的也是挺方便,学起来也不难,但感觉总还是停留在使用的层次,并没有去深入地了解(摊手.jpg)
: ...................
JS想学好有两本书是必须认真通读的,红皮的《高级程序设计》是理论基础,《JavaScript模式》是进阶
剩下的其实都是实用工具类,学会怎么用就行了,包括各种框架、ES6、NODE
ES6只是多了一些新方法解决了以前的一些顽疾,另外就是一些语法糖
1.es5就当成实用中的js学,在es5的基础上看看es6教程了解一下哪几个地方被优化
2.学js两本大部头是经典
3.我看lz把前端跟后端的语言比。这种观点其实就不太适合入门。前端主要是界面的呈现,后端的语言主要是业务逻辑(愚见)。
所以对入门来讲,应该先练习【用html、css和简单js实现静态界面】,先找到感觉,了解每个部分是怎么配合的,然后再补习基础,然后再考虑往上垒复杂的js逻辑【实现复杂的功能】。
lz说的一些语法比较奇怪,因为这些语法的出现是为了解决实际开发中出现的一些问题,开发的时候遇到、用到然后才能更好的理解
找项目的话,可以先看实验室项目有没有做前端的机会,这种会比自己找的贴合实际一些;实在没有就找个喜欢的页面用html、css和简单js模仿一下。跟教程走可能没法太好的辨别它项目的复杂度适不适合自己,
lz提出的在线ps啥的功能,感觉和你讲的你现在的情况相比,步子迈的有点大。这些复杂的功能,得现有较完整的产品逻辑才好去实现,这种可以找个公司实习下
1. es6=es5+新语法,也就是es6 提供了更方便的语法—— class/promise/...之类的。背后的概念、原理性的东西是没有变的。 闭包什么的,es7/8/9 都要用,闭包其实就是类似于c语言的静态变量,不会像函数的局部变量那样调用完就销毁。这方面的知识,你可以看javascript 高级编程。
2. 教程推荐:javascript 高级编程、liaoxuefeng 教程、w3cschool或者菜鸟教程中的html5(cavas/svg之类)+css 。One more: jquery这种快被淘汰的东西其实不用再看了
3. 大量练习?你把上面的教程总结完,本身就需要大量的练习。上面的教程完全掌握了,学习vue或react 官方教程,做简单的项目,在线ps太复杂了,在线h5 编辑器你倒可以挑战一下