为了账号安全,请及时绑定邮箱和手机立即绑定

投稿004期 | 学习有没有捷径?——前端进阶路

早在小学初中的学生时代,老师都会说:“只要努力,就能成功。”或者是:“只有努力,才能成功。”但是不知道大家有没有对这些鸡汤产生过怀疑,例如,你觉得你已经足够努力了,但是并没有取得符合预期的成绩,例如,你觉得别人不怎么努力,但是依旧能取得满意的成绩。

我们再来思考下一个问题:学习有没有捷径?

其实,很多人都把学习的捷径理解错了。学习的捷径,就像游戏一样,并不是所谓的一刀满级,而是我们在练级的过程中,自己的实力确确实实变强了,无论是角色的实力还是操作者的实力。

大家可能都知道口袋妖怪这个游戏,到最后,我们会挑选出六个精灵去挑战道馆。那么,挑战道馆的捷径,就是挑选合适的精灵阵容,而不是盲目修炼精灵的等级。如果你带六个100级鲤鱼王,打到花都谢了都过不了关,尽管你付出了很大的努力去给鲤鱼王练级。(鲤鱼王:躺着中枪了。作者:废话,你躺在水里一动不动我还以为你死了,所以开枪确认一下。)

https://raw.githubusercontent.com/beat-the-buzzer/pictures/master/imooc/imooc1.jpg

所以,学习到底有没有捷径?答案是肯定的。

其实大多数人都是很努力的,但是不知道如何去努力,在什么地方努力。我们想要学好一个知识或者掌握一个技能,但是总是无从下手,所以埋头苦干,甚至蛮干,造成了事倍功半的效果。

前端的进阶也是如此。我们都知道,前端入门是很容易的,HTML、CSS,刚学的时候貌似没有什么技术含量。但是前端的发展极为迅速,现在逐渐形成了一个知识体系,很多人觉得自己能写出简单的页面了,能使用js进行简单的交互了,但是却没有真正踏入前端的门槛。

几年之前,我们只会jQuery,就可以在项目中担任前端开发的工作了。但是现在,JavaScript发展极其迅速,我们讲究前后端分离,我们讲究页面渲染的性能,我们甚至抛弃了DOM操作,改用UI=render(state)的方式渲染页面。JavaScript承担了更多的责任,而开发者们,承担了更大的学习压力。

前端进阶任重而道远。正因为前端要学习的东西太多了,所以我们更要掌握好合适的学习方法。我们不能把时间浪费在修炼鲤鱼王身上了,我们需要让它进化。(鲤鱼王:膝盖又中了一箭。作者:你有膝盖吗?)

很多的教程都是把所有的知识点全部罗列出来,但是却没有主次重点之分,这样的教程无疑是不适合进阶的。系统地看教程,就像对着字典学语文,对着字典背单词,不仅效率低,还容易遗忘。

我们需要抓住一个核心,然后向四周扩散。事实上,生活中这样的例子无处不在。大树都有一个强壮的主干,然后才是茂盛的枝叶;Git上都有一个master,然后才有branches;庖丁解牛的时候,都是在关键处下刀,然后再逐个切割。所以,我们需要把注意力更多地放在那些核心知识点上。

对于前端来说,什么是核心知识点?HTML/CSS/JS。如果在这三者中再选出一个核心,答案是JavaScript。那么,JavaScript的核心知识点又是什么?在这里我简单把我自己的想法说一下:

  • 数据结构

在学校学数据结构的时候,我只听老师说过,数据结构是最重要的学科,当时我还不以为意,现在在我看来,数据结构确实是最重要。我相信,每一本JavaScript入门书,每一个JavaScript入门教程,都会去介绍数据类型,一般都会顺便介绍一下typeof、instanceof等方法。事实上,如果我们深刻理解了JavaScript的基本结构,了解JavaScript的存储方式,对以后知识体系的建立有很大的帮助。

  • 作用域和闭包

关于作用域和闭包,我为此特意买了一本书:《你不知道的JavaScript上卷》。这本书非常精细地讲了作用域和闭包,甚至涉及到了编译原理。其实,我觉得作用域和闭包,是JavaScript学习者进阶的一个大难题,面试经常会问到,但是有难以理解。但是,我们不得不去努力学好这一块的知识,甚至要去清晰地为别人讲解出来。

  • 函数

我对Java、C++、C#略知一二,对于函数来说,一般的编程语言都会有,但是,很少有像JavaScript这样的语言,能把函数设计得如此灵活,函数作为参数,函数作为返回值,立即执行函数,函数表达式等等等等。并且,我们之前说的数据结构,作用域,闭包,其实都是在为函数做铺垫。函数占据了JavaScript的半壁江山。函数,也是我们需要抓住的重点之一。

  • 原型和继承

Java中有继承和多态,我认为这是Java的核心,因为继承和多态体现的面向对象的编程思想。同理,对于JavaScript来说,它也是一直可以进行面向对象编程的语言,因此,我们需要去深入理解原型和继承。ES6会提供一种似曾相识的方法来实现JavaScript的继承。

  • ES6、主流框架等等

大胆预测,ES6将成为未来趋势。而主流框架,例如angular,react,vue,为我们提供了一些新的前端结构化思路。我之前想过,没有DOM操作,没有jQuery提供的方便的接口,日子还怎么过,但是学了一段时间的react之后,发现,改变旧有的思路,有时候会产生意想不到的效果。我们学的一切,都是为了去应用,我把ES6和主流框架也作为了JavaScript的核心,这是应用层面的核心。

以上就是我所认为的,努力的方向。当然,有人可能会说,JavaScript中也有一些十分重要的东西,例如各种字符串操作方法,数组方法,ajax,正则等等。但是在我看来,这些知识,例如,我想取字符串指定位置的字符,我想给数组排序,我想写一个原生ajax请求,是“卖油翁”需要达到的境界——我亦无他,惟手熟尔。

不仅仅是前端进阶,做任何事,都需要去抓住重点和核心,因为,这才是我们在寻找的,真正的“捷径”。切忌本末倒置。

点击查看更多内容
6人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消