给前端苦手的同学们一点建议——前端之所以难学,可能的原因

     很多入行一两年的前端工程师们经常抱怨js很难学。一开始我觉得很奇怪,js这东西上手不是很简单吗?语法简单,知识点也不多,怎么会觉得这东西很难呢?后来,我有了新的想法——也许,我入行是选了一个很好的时候:前端在国内刚刚兴起,国内甚至国外对前端开发的探索都还在刚刚起步的阶段。那时的前端开发还比较原始,没有firebug、没有压缩合并、没有jQuery、甚至也不太有很难的前端需求。一方面我没有太大的压力一上来就面对高难度的需求,所以我可以慢慢地用原生js自己去处理各种简单的需求,无论是原生js的理解上,还是调试能力的锻炼上,都是非常扎实的。后来firebug、压缩工具、js框架、css sprit才一个一个地出现了。

      当时国内前端的书也非常少,很容易挑出其中的精品,然后慢慢看慢慢消化。 因为前端只是刚起步,所以那时的书也不会太深入。《javascript高级程序设计》第1版和第2版知识深度的差距,有目共睹。如果当年直接上来就让我看第2版,我一定跟不上。就像当年我手上有两本书《DOM javascript编程艺术》和《ajax基础教程》,我是先看的《ajax基础教程》,死活看不懂。什么什么firstChild,nodeType一点概念也没有。后来看了《DOM javascript编程艺术》之后,回头再看《ajax基础教程》就一路畅通无阻了。我很幸运是在一个比较原始的荒地上看着一个城市慢慢繁华起来,我跟得上它。如果我是直接降到一个陌生的繁华大都市,我也一定会迷路。各种概念扑面而来,DOM、BOM、ES5、html5、css3、兼容、优雅退化、移动终端、web app、js框架、动态加载、模块化、调试工具、压缩工具、css sprint等等等等,是我,我也会不知该如何理清头绪,从哪儿下手。

      不论搜索引擎还是QQ群,总有人在不停地讲一些流行的时髦的词和各种概念,如果不去关心这些东西,很害怕自己学的东西跟不上形势,可是如果不去关心这些东西,一心去钻基础的概念,又应付不了日常的工作需要了——当下对前端的需求已经不比几年前了,现在的需求起点更高,其实更容不得新手们慢慢去学基础概念。我猜现在很多工程师既没那个时间也没那个心情去学原生js吧,很可能了解了jQuery就如获似宝地转投jQuery,将原生的东西扔到一边了。然后面对各种新概念,不知道该先学什么再学什么,如果将所有知识点由重要到不重要,一圈一圈地向外扩展,这个圈应该怎么画,很多人会比较迷茫吧。想起我当年学java的时候,学校里还在教我一些基本语法,然后我抱着一堆宝典兴致勃勃地开始准备开发系统,却发现当下的知识和书本上差距非常大,什么j2ee架构的三层、什么jsf、什么ant、eclipse、myeclipse。。。然后我一下子就晕了,不知道这么多知识从哪个开始学,然后我想从一个点开始攻吧,步步为营,却发现任何一个方向去搜一下搜索引擎发现都是一个看不到底的深渊。

     当时晚上做梦都在编程,做的全是恶梦,梦里找不到出路。现在做前端开发的新同学们,应该也会遇到类似的遭遇吧。我说这么多,其实是想告诉各位新同学们,不要追流行,一味追流行追一些概念是阻止你前行最大的障碍。先从基本功开始,基本功扎实了,流行的概念自然会通的,功到自然成,需要的是时间。

    可以从放弃jQuery,放弃jQuery UI开始,如果有可能的话,尽可能地使用原生代码自己来写各种效果,合理使用css、DOM这种原始的工具来完成一个个看似华丽的效果。当知其然知其所以然之后,再放下原生代码,选一件称手兵器,此时你的战斗力不再仅仅依赖兵器了(js框架),更有你本人深厚的功力(基本功)。这时的战斗力才可能真的上升到另一个层次。     

原文地址:https://www.cnblogs.com/cly84920/p/4426549.html