当前位置:新闻中心 > 技术干货

怎么样才算是精通 JavaScript?

来源:天融信教育

任何一门编程语言都是人去创造的,不管是javascript还是php或者是c那么,到底什么是精通javascript,什么又是精通php呢?试问,我理解了js里面对象的概念,理解了各种逻辑运算符,我精通么?

显然,另外的同学会说,不,你还要学习面向对象或者函数式编程,你要试图用js去模拟一个类,然后让它具备重载以及多态等等特性。好了,我都学会了,精通了么?

其它同学说,不不不,你需要让你的js写的更高效,还要考虑各种浏览器下对某些方法的支持与否,我们要保证这个js具备较好的兼容性。好了,你又学会了,精通了么?

好吧,同学们又说了,我们每次写代码都重复使用,很是麻烦,不如你开发一个框架吧,好吧,你开发框架的过程中,了解了各种设计模式,好吧,你充分利用例如单体、工厂、观察者等等。

好吧,这下总算精通了吧?同学又要学了,不行,咱们写了这么多,是否考虑到性能,需要不需要解耦,需要不需要再完善出来更多的widgets?

什么时候是头?显然,学无止境,精通这个词即便是放在创始人身上都无能为力。但是,我们忽略了一点,上述所说的所有装B词汇都是诞生在数据结构、算法这两个方面上,我们的站于在堆栈,我们的立于算法。

那么是否我们应该去学习数据结构,学习高深的算法呢?呵呵,学了也没用,因为无用武之地啊。所以,不用纠结自己精通或者不精通,学以致用,知行合一,才是最根本的。

一等牛人制定标准,比如比尔盖子,虽然他的标准比乔布斯的烂300多倍,但是人家被时代认可,愣是把麦金塔给兼容死了。

二等牛人做实事,超级玛丽,塞尔达,最终幻想,勇者斗恶龙,博德之门,辐射等等,谁管这些东西的作者用的啥语言?

有人说这些都是高手我做不出来,事实上姚壮(更正)宪编程水平难道很高么?除了仙剑1他又做出啥了?

仙剑1的源码我没看过,不过就其效果和同时代的作品对比,没什么非常特别之处(事实上当时仙剑制作组的制作投入也比轩辕剑小很多,是一个不受重视的项目,其技术实力可想而知)

只有做不出啥作品的人才一天到晚琢磨着“精通xx”所以要问自己:我能拿javascript做出啥好东西,好到我自己都想用,别老是琢磨着自己怎样才能精通。事实上你只有做出来好东西了,才能叫精通,则只不过是会多写几种回字罢了。

一个人精不精通javascript其实很简单嘛,他有没有一个基于javascript的好作品(这里我觉得可以稍微感性的看待“好”这个概念,我看有人提到像素小鸟,我觉得这就有点误解了,作品好坏是有标准的,像素小鸟算是“好作品”么?个人不以为然,只能说是一个有名气的作品,这就犹如《钢的琴》之于小时代,《心迷宫》之于分手大师,前者是“好”,后者是商业上的“成功”。

如果你要做好东西,请找前者,如果你要挣钱请找后者。如果你想赔的底裤都不剩,请去找一个“精通电影”但是从来没拍过电影的。软件业也是一个道理。

一个人知道的再深,研究的再多,苦心耕耘30载,就算javascript是他发明的(当然了,如果javascript是他发明的javascript这个伟大的作品就是他的代表作了。如果毛都没做过,(这种人各大高校普遍存在)这种精通要来何用?

我的理解是:用最合理、合适的办法高效地解决问题,满足需求,那就是精通了。