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

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Li_Qing_Xue/article/details/78919499 图片加载很是重要,我也对比过 ...

  2. 实验吧中围在栅栏中的爱-------writeup

    涉及知识点:栅栏密码解密.摩斯密码解密.替代密码解密 题目 可以看到下面一行东西,明显是一串摩斯密码,利用CTFCrakTools将密文解密 得到另一串密码kiqlwtfcqgnsoo 那么我们尝试着 ...

  3. Android视频直播全屏实现

    /** * 添加直播组件 */ @SuppressLint("JavascriptInterface") private void addPlayerLive(final Subj ...

  4. selector状态选择器

    Selector selector就是状态选择器(StateList),它分为两种,一种Color-Selector 和Drawable-Selector. Color-Selector color- ...

  5. C++代码匈牙利命名规范

    一.类 除了异常类等个别情况(不希望用户把该类看作一个普通的.正常的类之情况)外,C++类/结构的命名应该遵循以下准则: C++类的命名    类的名称都要以大写字母“C”开头,后跟一个或多个单词.为 ...

  6. Hadoop、spark

    http://blog.csdn.net/u011204847/article/details/51355272

  7. 一百二十七:CMS系统之添加轮播图前后台逻辑

    后台逻辑 模型 from exts import dbfrom datetime import datetime class BannerModel(db.Model): __tablename__ ...

  8. ceph对接openstack环境(4)

    ceph对接openstack环境 环境准备: 保证openstack节点的hosts文件里有ceph集群的各个主机名,也要保证ceph集群节点有openstack节点的各个主机名 一.使用rbd方式 ...

  9. SpringBoot: 7.整合jsp(转)

    springboot内部对jsp的支持并不是特别理想,而springboot推荐的视图是Thymeleaf,对于java开发人员来说还是大多数人员喜欢使用jsp 1.创建maven项目,添加pom依赖 ...

  10. Web后台管理系统

    开发语言:C# 数据库:sql2008 登录页面 后台管理首页 部分操作页面 后台管理系统,界面简洁,大方,操作简单,所有功能可定制开发. 后台管理系统制作 如果您有需要后台管理系统制作,请扫描添加微 ...