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