随着我的成长,我的兴趣也在不断地分化,他们似乎都是不相关的领域。我喜欢数学就像我喜欢历史一样。我的目标是成为一个多才多艺的人——一个学者——在许多领域都能成为杰出的人才。这是一项艰巨的任务。突然间,我面临着一种危险,那就是在所有方面都很容易接近和疏远我。
我开始考虑专注于某些领域,这样我至少可以掌握某些方面,即使我不能成为文艺复兴时期的通才。那么,我如何集中精力在一个领域,掌握软件开发所需的巨大知识系统呢?
这篇文章是基于我过去五年的经验,概述了我曾经成为一名优秀的JavaScript开发人员所使用的技术和资源。
如今,大多数Web开发人员都面临着同样的问题:他们必须擅长许多不同的领域,从数据库到后端架构,到前端用户界面,用CSS知识修改用户界面。
读一本书
为了达到熟练,专心和努力是首要条件。如果你不全心全意投入到你的工作中,你最终会得到一张半生不熟的照片。例如,通过阅读一些博客文章,因为初期投资较低,所以看起来比较简单。但从长远来看,这种学习模式将比关注学习本质的过程花费更多的时间。解决这个问题的方法很简单:阅读。
书籍让我们站在文明的肩膀上。精致的语言让我们的知识代代相传。至于如何成为一名网络技术专家,你必须在学习过程中与网络保持一定的距离。因为网络本身是一个混合和分散的学习媒介,我的第一个建议是阅读相关专业的书籍。
对于javascript,从javascript语言的本质开始,这本书叫做javascript圣经。这本书很旧,但很适合作引言。尽管您可以将它用作参考书,但javascript权威指南也是必要的。此外,jquery作者JohnResig的“JavascriptNinja禁止”也不容错过。如果你正在寻找一本好的(免费在线)书,请查看javascript allange,你不知道JS和雄辩的javascript(点击这里查看它的注释版本)。这些可以以电子书或印刷版的形式购买。此外,Mozilla的开发者网络也有一个很好的“javascript指南”。
学习、使用和阅读图书馆
下一个最重要的步骤是理解库。如果书籍教你如何理解一种语言,图书馆教你如何表达它。对于库,您有两件重要的事情要做:使用它们并读取它们的源代码。
通过使用库,您开始了解:jquery、主干、下划线和react、angular、ember之一。当然,这并不是说你必须使用这些库,但是有能力的JavaScript开发人员应该至少对这些库有一些经验(好或坏)。
为了提高JavaScript技能,第二件重要的事情是阅读这些库的源代码。其中,我特别推荐主干和下划线的源代码,因为它们的代码写得很漂亮。通过阅读和理解下划线,您的功能编程能力将得到提高。另一个由其他几个开发人员推荐给我的库是mootools(我个人没有使用和阅读mootools的经验,只是传递信息)。
理解上面列表中的其他库(如react、ember等)可能很困难,但值得付出努力。至少浏览一下其他库的源代码,看看它们如何组织基代码,并尝试找到一些模式。其他值得使用和阅读的库有d3、highcharts和moment.js。
练习并问自己问题
成为一名优秀的JavaScript开发人员的下一步是做大量的实践。从理论上讲,这些实践的重点不是DOM,而是语言,因此请确保节点上运行有测试工具。JS。在节点上做很多小练习。JS。javascript闭包、原型、数组附加(map、filter)的使用方式不同。经过大量的练习,您将有一个关于javascript的基本概念。
我的朋友Armagan是一位杰出的javascript程序员和教师,他在课堂上使用的教材“javascript设计模式”也值得一看。
试着回答这样的问题:原型继承是如何工作的?闭包的定义是什么?这个关键字是如何更改的?如何使用apply/bind/map/filter/call?收集一些常见的javascript开发人员的问题,并尝试用您自己的语言解释它们。以书面或口头形式向他人解释这些概念可以大大提高他们的能力。在实践中,尽量做“假设分析”。例如,“如果您使用绑定两次,这代表什么?jquery是如何产生的

js大神成长指路的更多相关文章

  1. Python大神成长之路: 第一次学习记录

    一.Python发展史 二.Python2 or 3 博主选择了Python3. 从官网下载Python  www.python.org Windows安装python3.5.python2.7.安装 ...

  2. Python大神成长之路: 第三次学习记录 集合 函数 装饰 re

    学习记录day03   字符串可以直接切片,But字符串不可修改 字符串修改:生成了一个新的字符串 LIst修改,在原基础上修改(原内存上)     集合是一个无序的,不重复的数据组合,它的主要作用如 ...

  3. Python大神成长之路: 第二次学习记录

    数据类型          数据操作 bytes 类型 "".encode() 编码-->二进制 "".decode() 解码 判断字符串里的字符是否全为 ...

  4. JS高级群的日常!写一个从10到0的倒计时,用console.log打印,不可以用 setInterval!本来说好的研究avalonJS最后演变成了看着大神在那边互相比拼实力。。

      JS高级群的日常!写一个从10到0的倒计时,用console.log打印,不可以用 setInterval!本来说好的研究avalonJS最后演变成了看着大神在那边互相比拼实力..   小森执行一 ...

  5. 大神:python怎么爬取js的页面

    大神:python怎么爬取js的页面 可以试试抓包看看它请求了哪些东西, 很多时候可以绕过网页直接请求后面的API 实在不行就上 selenium (selenium大法好) selenium和pha ...

  6. 兄台息怒,关于arguments,您的想法和大神是一样一样的----闲聊JS中的apply和call

    JavaScript提供了apply和call两种调用方式来确定函数体中this的指向,表现出来的特征就是:对象可以'借用'其他对象的方法.之前的几篇博客回顾了一些Web控件的一些开发方法,我们聊了如 ...

  7. Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神

    转载:https://blog.csdn.net/zhaokaiqiang1992/article/details/43731967 CSDN 鸿洋:http://blog.csdn.net/lmj6 ...

  8. 为何你跟着滴滴D8级前端大神撸代码,技术却依旧原地踏步?

    引子 听说最近有很多小伙伴,热衷于在慕课网上学习各种前端实战教程,并以完成项目为奋斗目标.比如本文接下来要提到的<Vue2.0高级实战之开发移动端音乐App>,这门课程的传授者是来自滴滴D ...

  9. 听justjavac大神live前端的入门与进阶小笔记

    代码规范 代码强壮,调试代码 少用变量,多用常量 少用for循环,why循环,多用函数式, 不要直接去使用框架 刷题 提高编程思维 用js去做c语音的问题 阅读别人代码,去看别人的代码 a+b> ...

随机推荐

  1. Go项目的测试代码2(项目运用)

    上一篇文章介绍了最基本的测试代码的写法.Go项目的测试代码(基础) 这里简单的共享一下我在项目中使用的方式. 项目结构 我们实际项目中, 结构简单地分了控制层controllers和模块层models ...

  2. close connection error java.sql.SQLRecoverableException: IO Error: Broken pipe

    java.sql.SQLRecoverableException: IO Error: Broken pipe Table of Contents 1. 错误信息 2. 分析 2.1. 连接池 2.2 ...

  3. python之scrapy爬取jingdong招聘信息到mysql数据库

    1.创建工程 scrapy startproject jd 2.创建项目 scrapy genspider jingdong 3.安装pymysql pip install pymysql 4.set ...

  4. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_汇总

    2018年Spring Boot 2.x整合微信支付在线教育网站高级项目实战视频课程 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-1.SpringBoot整合微信支付开发在 ...

  5. tomcat简单快捷改端口

  6. Linux下通过crontab命令来实现定时任务

    一.crond的介绍 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cr ...

  7. Python-sympy科学计算与数据处理(求极限及其它功能)

    极限 其它功能

  8. 关于lombok插件的使用,强大的简化代码工具

    关于下载和安装lombok插件,过程特别简单,可以参考: https://blog.csdn.net/longloveqing/article/details/81539749 安装好后,下面介绍下l ...

  9. Servlet 使Session设置失效

    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletExcep ...

  10. centos7清楚journal日志

    1.只保留1天的日志 journalctl --vacuum-time=1d 参考:https://blog.csdn.net/ithomer/article/details/90634579