javascript为什么需要深入学习?

同为大三,前端。从大一开始开始学前端已经俩年左右,可以很明确的告诉你,

JavaScript一定要深入学习,

JavaScript一定要深入学习,

JavaScript一定要深入学习。

其实这根本就不应该是问题,大一刚学完HTML,CSS,JavaScript,bootstrap以及jQuery的时候我也觉得前端不过如此嘛,切切页面写写特效,so easy。

然而毕竟是too young。

前端这坑,竟然如此之深。

那些说不用深入学JS的,不管外面技术如何革新我自坚守jQuery阵营的,呵呵,俩个字送给他们。

大二初进入工作室后开始使用Ajax交互,于是自学后台,从PHP转站node再回到前端。确切的说,应该是分了俩条路线学习,一条前端,一条后台。

后台不多说,模板引擎MVC框架设计模式数据库最后自己研究实现MVC框架和API框架,方向明确。然而前端,从开始看jQuery源码那一刻,世界似乎不一样了。

初看jQuery时,wdf,怎么看不太懂(匿名函数闭包等),还有写的这么丑,与非这么多,你多写个if会死吗,blablabla

再之后,握草,JS竟然还能这么写,你要不要这么吊,以前我怎么不知道JS还能怎么写,我靠,这一处构思更秒。。。

坐进观天,终于发现了新世界,从此一发不可收拾!

当我还沉醉于jQuery操作dom的精妙,又发现其实后台MVC开发模式已慢慢被RESTful开发方式取代了,前端也有自己的MVC啊。分层,哦,backbone。

去学backbone,丢,竟然还依赖underscore。啥?jQuery操作dom,而underscore操作数据结构的?好吧,学。

啥?只有分层也不行啊?JS代码总不能都丢到一个文件里。不能用script标签一个个引入?效率太低了?请求不耗资源?requireJS(AMD)/seaJS(CMD)/webpack(commomjs)。好吧,学。

移动端?zepto,类似于jQuery的类库?也操作dom,适合移动web开发?jQuerymobile?相当于jQuery UI?好吧,学。

啥,backbone早不流行了,现在都用angular了?双向数据绑定,比起dom操作,效率高多了?而且依赖注入,指令,服务等等,很多都给提供好了,很方便?好吧,学。

啥,你说我学的angular都过时了,现在都angular2了?1和2能有多大区别嘛?大到天上去了?整容变性了都?组件化了知道吧?现在都组件化开发了?angular2/react/Vue各有特色选一个吧?好吧,我选。

react,好像蛮简单嘛,就一个V层。组件化开发,虚拟dom?也还蛮新颖的嘛。不过import,let什么的那是什么鬼?JS有这语法?啥,es6?现在都用es6了?扩展了JS,提供了模块化异步编程解决方案面相对象编程?es7都快出了?好吧,学。

啥,浏览器还不支持,要用babel编译?最好集合webpack或者gulp?做工程化构建?编译压缩混淆什么的都可以利用插件自动完成?还要学测试框架?karma,mocha,chai/Jasmine?自动化测试很必要?好吧,我学。

啥?大型应用数据关系复杂,react也还不够用?react-router做路由,redux做数据流管理?路由我知道,backbone,angular1.x都有嘛,数据流是个什么鬼?好吧,我学。

啥,angular2是依赖typescript的?使用es6/es7语法的。。。

啥,还有混合开发?phonegap?混合开发?现在react native最热门?

three.js?3d动画,图形操作?基于webgl,效果非常炫酷?

网站性能?雅虎军规?要写高性能JS?

网络安全?xss与csrf最常见?

。。。

我的天

前端之路漫漫,框架多如毛,其实也并不都需要学。然而前端最核心的就是JS,只要你JS基础够牢固,最后再有些后台思维,那无论什么框架学起来都很快。框架最核心的应该是其架构与设计,当你明白实现的原理,给你时间,你也能照老虎画只猫出来。

前端之路漫漫,基础打劳了,才能走的更远。

纯手打不容易啊!觉得还可以的点个赞呗