如何快速成为javascript高手的思考
1个回答
展开全部
最近,我一直在拿这个问题问自己。之所以会有这个问题,我基于两个前提:第一、我自认为自己不笨;第二、我学习和使用javascript也有一段时间了,并且自己学习还算努力。
排除第一个答案不讨论。我们来讨论下第二个和第三个答案。
答案二:他之前学过的、接触过的东西使他对这个知识有启发,我这里简单的归结为积累,关于积累问题,我上一篇博客
程序员的学习和积累有谈到。
说到这,我又想起了我深受毒害的应试教育。应试教育缺乏的正是动手和实践知识的场所或曰方式。很多时候我总是懒于动手,为什么懒于动手?难道是我真的懒吗?我不承认,我不动手是因为我找不到动手的理由,或是不知道如何动手。拿写一个javascript库或框架为例,为什么我到现在还没有写一个javascript库?首先我找不到写它的理由,现在这么多流行、易用且被广泛使用的javascript库或框架了,有必要再写一个吗?就算我写了,公司会使用它吗?如果没有对其他库或框架的深刻理解和认识,只是把各个库或框架中的一些东西拼凑在一起,甚至不知道其中一个函数实现的内部原理,那能叫我写的吗?其次,我找不到入手的地方。在没有对其他框架有深刻认识,自己能找到其中的缺陷、不足而加以修正和实现之前,我找不到入手的地方。
解释下答案:
功夫下在和工作有关的地方,这需要有强烈的责任心和主人翁意识。我们需要深刻理解这句话,功夫下在和工作有关的地方不是说,每天把上司交给自己事情做完、没有bug、达到需求就可以了。而是要做得更好,我想提出3点,也给自己树立目标:
1、用最优的方案实现需求。在自己的已有知识结构、能力、经验上用最好的方式实现需求,在此基础上努力搜寻业界相关的解决方案比较优劣,选出最佳的方案,最终实现需求。
2、关心自己已做完工作,关注业界的相关新思想、新技术、新理念,把已完成的工作,用最新最优的方案予以重构,并在适当的时机在产品上得以实现。
3、关注自己所负责工作的未来,把产品当做自己的孩子,努力将他引向最美好的未来。努力将自己所负责的产品打造成为业界的标杆(特别是自己所负责的部分,那是自己影响圈内的事情)。
语言层面:编程语言之间是想通的,至少高级语言是想通的(相对于机器语言和汇编语言),javascript是一门特殊的语言,既可面向过程、又可面向对象。有人喜欢它弱类型语言的特性,而将其语言本身的特性发挥得淋漓尽致。有人喜欢java这类纯面向对象语言的严谨,而使用一些功能函数将其包装成完全的面向对象,并采用它实现了一些常见设计模式。所以说,真正要精通javascript这门语言本身,需要对其他语言的一些理解(至少是了解)。鉴于目前javascript从业人员的构成,非计算机专业科班出身的同学可能需要努力补补课。
环境层面:javascript运行的环境目前有浏览器端和服务器端,将来可能有机会到嵌入式设备中。目前大部分应用主要集中在浏览器端,而浏览器厂商为了各自利益等各种历史原因造成的javascript运行环境兼容性问题,也是javascript从业人员较为头疼的问题。
业务层面:很多其他语言有功能完善的底层API、工具包,抱歉,javascript暂时没有(浏览器端、nodejs开始有雏形,希望commonJS规范能够一路走好)。所以各种库、框架对于一些基本业务需求都提供了类似但非相同的实现。一个优秀javascript程序员需要辨别各种框架或库中的业务实现,或编写出自己的业务实现。
综上,要在语言、环境、业务三个方面都精通,确实是需要花费很大的功夫。一个人的精力是有限的,其他语言积累几十年的东西,你想一个人在javascript得到实现是不太可能的。术业有专攻,不是说你是javascript高手,javascript的方方面面你都能做到最好。
运用javascript把工作做得最好,才是javascript高手!
PS:这是本人对自身问题的思考和分析,之所以发到首页来,是希望能给有同样疑惑、同样迷茫的同学带来些思考。分享这篇博文花了4小时的写作时间,如果你有同感,如果你觉得我还算用心,请帮忙右下角推荐一下,这样能给更多的同学带来一点思考和帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询