如果你之前没有看过我的《前端工程师如何月薪过4万》这里建议大家仔细读读一下,因为里面有整个前端工程师成长的技术路线图和我的故事。同时很多小伙伴问我的学历后来没再考考么,我是考了成考的北京航空航天大学,也马上快毕业了。不过我觉得这件事不足为提,因为国内的高等教育你们懂的。这里我们开始从0来讨论一下初期从事前端用jQuery多是不是真的很low。
前端的学习路线比较陡,一般入门很好入门几天就可以搞出来一个百度首页,然后学学基础的JavaScript知识再配上jQuery基本可以应对一般企业的要求。在这个行业里很多人直接认为jQuery就是JavaScript,同时新框架新思想层出不穷。所以一些逼格高点的开发人员总会拿jQuery当成一个标准来衡量一个前端开发人员在什么阶段。甚至拿jQuery当成一个梗来相互间调侃。大家可能会说那意思就是只会jQuery就是low喽?非也。
现代化的前端让这个时代都发生了变化,你会到处听见VirtualDOM、Web Components、MVVM等等,如果你入行不久听着头都大了,我们先姑且不管这些,回到最初前端的本质是什么呢?能写出符合W3C标准的代码能够实现业务逻辑。然而HTML5+CSS3其实已经是一块很大的学科,之前有人问我过说C语言和CSS哪个难,我告诉他CSS难,为什么呢?因为他从不按套路出牌,而是由无数技巧组成。同时CSS3的出现会让我们去探索到浏览器的渲染原理比如3D触发的硬件加速,那么什么条件会触发硬件加速呢?Compositor、GraphicsLayer、RenderLayer、RenderObject是什么关系?HTML的语义化到底有什么用?先别忙着鄙视别人,我觉得至少这些答案在你头脑应该很清楚。业内很多大牛只懂HTML5+CSS3并且用的炉火纯青的人大有人在,腾讯这样的大公司也有网页重构部专门招HTML5+CSS3的童鞋。
那我们再回到jQuery,它确实一颗前端的常青树。经过了这么多年,依旧挺拔在前端的圈内。为什么呢?因为传统的前端绑定事件发送请求以及他周边的插件系统太完善了。但是一些新框架新思想确实让编码和性能有了更大的提高,比如MVC的库、模块化的库等等,不过这些库就真的需要么?非也。还是要看企业内部实际的需求,用对应的库解决对应的问题这才是正解。
所以你只会jQuery并不low,人就是如此,哪怕有些人某一方面牛上天了又如何?他还不是有不懂的地方。比尔•盖茨不会拍戏,张艺谋不会唱歌,周杰伦不会写程序。主要是要在自己现在的领域不断成长才是正解,但是如下2点你一定要注意。如果你不听我的话或者坚持不做到,那你确实low。
1.开拓眼界思路,能够知道当下发展的趋势和哪些库出现的原因做做小Demo去听一些技术大会看看人家用这些新的库做了什么。
2.千万不要以为jQuery就是JavaScript,这样你基本就有点过分了。那说到这里,希望在刚入行的同学们一定要好好学习JS这门语言,这是一个十天创造出来的语言,它里面有非常多的坑。比如下面这种面试题。
Object.prototype.name=1; //console.log(1.name); console.log(1.0.name); console.log(Function.name);
这个题出的要点过,但是很多面试官很愿意去问面试者看你对于JavaScript能掌握到一个什么地步。但是JavaScript几个核心的知识点,你一定要Get到。比如闭包、作用域、Prototype、按值传递和按址传递、OO、This这些要是没掌握好一般公司估计你是过不去这个关卡的,因为这些要是掌握不好很容易在平时的开发阶段出现一些问题。再有就是要多用jQuery周边的库和尽可能的使用它的API比如委托,尽量去读读这些库的源代码比如Validate它的代码并不复杂,然后接下来就是自己尝试自己写一些组件库并给别人用,在给人家写组件的时候很多概念你会慢慢熟悉比如命名空间、比如闭包的关键作用。同时jQuery的经典套路你也要自己搞清楚,比如链式调用、Ready实现和Onload区别、Ajax跨浏览器的封装、绑定事件的封装、Live的实现。最后就需要好好读读人家的源代码了,他的源代码博大精深。如下是它的初始化代码。
你可以通过网络上的视频或者书籍,这里推荐一本《jQuery技术内幕:深入解析jQuery架构设计与实现原理》。一本好书,就像高级武功秘籍一样,哪怕只从里面领悟个一招半式,功力提升起来都是惊人的,眉超风学的那半生不熟的九阴真经就是证明。所以练武功和写程序一样,不在乎你修炼了几十年还是几百年,也不在乎你少林武当娥眉拜了多少门派,关键是你有没有把一门武艺炼到出神入化的境界。学武艺,最忌讳总想着去追求大而全,你要明白,其实只需要“打狗棍法”这么一招,就足够你掌舵丐帮,受用终生。你真的把jQuery大彻大悟那么别人都会敬你几分。
网友评论文明上网理性发言 已有0人参与
发表评论: