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

    找来找去,在CSDN 里看到高手解答了. 原来 WebService 传递参数时,不能使用 DataTable 如果需要使用DataTable  那就要用 DataSet  包装起来. 如果担心数据太 ...

  2. C++ STL——常用算法

    目录 一 常用查找算法 二 常用遍历算法 注:原创不易,转载请务必注明原作者和出处,感谢支持! 注:内容来自某培训课程,不一定完全正确! 一 常用查找算法 /* find算法 查找元素 @param ...

  3. 面向对语法读取mysql数据库数据例:$db->query($sql)、$result->fetch_array()

    前面我们介绍过如何使用面向对象语法连接mysql数据库,今天技术人员继续讲解如何读取数据.虽然与以前面向过程类似,但还是有些不同,需要大家用心了解. echo '面向对象语法连接数据库test db ...

  4. Collection Map Java数据结构

    Collection Map 框架图 Collection          接口的接口   对象的集合 ├ List                   子接口      按进入先后有序保存   可 ...

  5. vue导航菜单调用PHP后台数据

    数据库设计: 后台PHP输出所有菜单数据(index.php): <?phpheader("Access-Control-Allow-Origin:*");header(&q ...

  6. 直连路由onlink

    根据路由器学习路由信息.生成并维护路由表的方法包括直连路由(Direct).静态路由(Static)和动态路由(Dynamic).直连路由:路由器接口所连接的子网的路由方式称为直连路由:非直连路由:通 ...

  7. 在java中有关于反射的皮毛----自己的简略认知

    白首为功名.旧山松竹老,阻归程.欲将心事付瑶琴.知音少,弦断有谁听? 反射(reflection): 当我们在看到这个名词首先会想到的是,我们在上高中时学的物理,那么在java开发中,反射这个名词是怎 ...

  8. 浏览器F12功能键对测试工程师的重要性

    F键,功能键,Function键.F12常用于网站界面测试.调试,分析网页所出现的问题,查看html元素.查看响应事件等方面. 打开一个网页,点击F12,弹出一个窗口,其窗口的功能如下: 1 Elem ...

  9. Openstack架构及配置

    Openstack云平台架构 一个良好的架构设计和运维保障措施,能为OpenStack云平台的稳定健康运行,产生不可估量的积极影响.如果化繁为简,简单的来说,要部署一套生产环境级别的OpenStack ...

  10. libev 源码解析

    一  libev简介 libev是一个轻量级的事件通知库,具备支持多种事件通知能力,通过对libev的源码的阅读,可以清楚了解事件通知实现内部机制. 二 核心数据结构 在libev中关键的数据结构是, ...