如何系统性的学习Javascript?

我来推荐一本书:《Ruby 元编程》

成都创新互联长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为南部企业提供专业的成都网站建设、做网站,南部网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

如何系统性的学习 Javascript?

如何系统性的学习 Javascript?

这本书虽然是以Ruby为教学语言,但实际上内里介绍的很多抽象和设计是很多动态语言所通用的,尤其是在ES6/ES7 又广泛的吸纳Python、Ruby的特性和优点的今天,总之非常值得一读。

======================================================================

谢邀。

我2016年6月毕业,同年3月开始认真学习JavaScript,而在此之前我相对熟悉些http://VB.NET,Java,C++什么的。

但我学习的办法其实比较笨,只是因为自知看书比较快,所以就大量查阅有关博客以及JS书籍/电子文档。从《锋利的jQuery》入门,豆瓣8分以上的JS有关的图书,10本里面我大概读过7~8本。 由于JS的语言特性使得你很容易进行横向学习(现在想想,也是我年tai少sha无bi知,C++没学好的缘故),因此快速拓展JS要素时,我还顺手点了下Python和Lua的技能树。

当然,在阅读这些书的过程中我都是带着强烈目的去读的(换言之,读一本书之前,你要知道你为什么读这本书,你需要解决的问题是什么),同时,配合平时在工作中持续的Coding。
有些内容或许因为翻译,或许因为概念本身晦涩,未必很好理解,但我相信,Coding 千遍,其义自现。各位从别的语言平台过来的程序员应该不会有问题,但倘若是初学编程,请慢慢读,慢慢学,打好基础再谋求起飞。

比如完整follow example code 写一遍,Run一遍,思考一下代码原理/执行的过程/解决的问题,然后试试改几个参数再Run一遍,接着再考虑看看现实的环境中,能找到符合这段代码目的的用例吗?

如果非要书单的话,我推荐以下几本(按推荐的阅读顺序排序,纯JS向):

如何系统性的学习 Javascript?

如何系统性的学习 Javascript?

这个至少读两遍以上。

如何系统性的学习 Javascript?

如何系统性的学习 Javascript?

很薄的一本书,但告诉了你一些工程向的东西,来提高一门不怎么好维护的语言的可维护度。

如何系统性的学习 Javascript?

如何系统性的学习 Javascript?

老道这人比较极端,但无论如何这本书入门还是可以一看的,至于有些观点采纳与否可以之后再思索。

如何系统性的学习 Javascript?

如何系统性的学习 Javascript?

异步几乎是JavaScript世界里最重要的执行机制之一了,也不厚,很容易读完,但可以反复咀嚼一下。
P.S:回调这个异步模型虽说粗糙是粗糙了点,但同样也朴素嘛~~。ES6 yield穿来穿去,真要弄清楚执行流程,还是得画两张图才能看明白的。

如何系统性的学习 Javascript?

image

如何系统性的学习 Javascript?

Node.js向,相对深入的一本书。而Byvoid那本里一来比较简单,二来Express的版本已经超过他示例代码版本很多了,再版的话还是挺推荐作为Node.js入门读物的。

如何系统性的学习 Javascript?

如何系统性的学习 Javascript?

一本偏实践的书,看了这本书之后再接触Angular/Backbone什么的会开阔很多。

如何系统性的学习 Javascript?

如何系统性的学习 Javascript?

这本刚出版不久,Github上You dont know JS 系列非常精彩,但远不是一本入门书,请有了实践经验之后再读,用来巩固知识点非常好。

最后,如果苦于手边没有可以练习的代码,我推荐这个网站,有效帮助熟悉各种JS函数/Pattern/ES6 Features:

如何系统性的学习 Javascript?

如何系统性的学习 Javascript?

至于练手的项目, 赵望野 前辈在这里提到过一些,我觉得可以尝试而且自有裨益,当然一开始不一定能真的就顺利的实现出来,但罗马也不是一天建成的。
(Selector Engine 什么可能会比较难,AJAX Helper/Chainable Helpers 这些难度都很适中)

初学者的话:Selector Engine,AJAX Helper,Promise A+ 的 Deferred Helper,Chainable Array\String\Object Function Helpers...

最后的最后,仍然要送上一句话: 知行合一 。
用代码解决问题永远是学习编程的最好途径。


分享题目:如何系统性的学习Javascript?
网站链接:http://pwwzsj.com/article/ghjjeh.html