随着我的成长,我的兴趣也在不断地分化,他们似乎都是不相关的领域。我喜欢数学就像我喜欢历史一样。我的目标是成为一个多才多艺的人——一个学者——在许多领域都能成为杰出的人才。这是一项艰巨的任务。突然间,我面临着一种危险,那就是在所有方面都很容易接近和疏远我。
我开始考虑专注于某些领域,这样我至少可以掌握某些方面,即使我不能成为文艺复兴时期的通才。那么,我如何集中精力在一个领域,掌握软件开发所需的巨大知识系统呢?
这篇文章是基于我过去五年的经验,概述了我曾经成为一名优秀的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. npm 权限

    将npm默认目录定向到其他你具有读写权限的目录 很多时候你可能并不想改变npm所用的默认目录(如/usr)的拥有者,因为这可能会导致一些问题,比如你在与其他用户共用此系统时. 这时,你可以设置npm整 ...

  2. TreeView 三种状态 没多大变化 只是增加了很多函数以方便调用

    using System.Drawing; using System.Windows.Forms; using System.ComponentModel; namespace SimpleCusto ...

  3. 关于go module

    从Go 1.11开始引入module,用于版本管理. 通过使用module,工程目录的位置不用必须放在GOPATH下. 当前版本是1.13,下文中将以Go1.13为例介绍module. 在Go 1.1 ...

  4. Python之Numpy:二元函数绘制/三维数据可视化/3D

    意义 在机器学习任务中选择计算模型或者学习数学时,可视化有助于研究函数值的变化趋势(观察收敛.分布.几何形状等),带来直观的感受. 源码 # 绘制二元函数 # 参考文献 # + python画二元函数 ...

  5. Java类的加载及初始化

    每个类的编译代码都存在于它自己的独立文件中,该文件在需要使用该程序代码时才会被加载.通常有以下三种加载情况: (1) 访问了子类的静态变量或静态方法:仅对类的静态变量,静态块执行初始化操作,并仅初始化 ...

  6. 接口测试 dubbo 接口测试

    dubbo是阿里巴巴开源的一套rpc方案,以为理念很契合微服务,这几年很火,用户里面不凡京东,当当,去哪儿等大公司.rpc场景   dubbo架构   官网也提供了一个很简单实用的demo来演示dub ...

  7. Linux 用户管理 与 文件权限

    Linux 用户管理 与 文件权限 用户组操作 1.groupadd命令 groupadd [-g -o] gid group 各个选项具体含义如下: -g:指定新建用户组的GID号,该GID号必须唯 ...

  8. public static void main(String[] args) 是什么意思?

    public static void main(String[] args),是java程序的入口地址,java虚拟机运行程序的时候首先找的就是main方法. 一.这里要对main函数讲解一下,参数S ...

  9. 酷Q插件_SDK———入门与使用

    1.这里使用的是易语言的SDK,所以请看不惯的人自行离开.{wymbf.} 1.2 这里不会直接给你工程,请用动手打代码,动脑思考. 1.3 不知道.不了解酷Q是干嘛的,请访问:https://cqp ...

  10. C++学习笔记-异常处理

    程序设计的要求之一就是程序的健壮性.希望程序在运行时能够不出或者少出问题.但是,在程序的实际运行时,总会有一些因素会导致程序不能正常运行.异常处理(Exception Handling)就是要提出或者 ...