司徒正美
,JS魔法师,去哪儿网前端架构师
知乎用户、zinwa.lin、Yang 等人赞同
入门可以看《javascript高级程序设计》与《javascript dom 编程艺术》尤其是后者,真是好书。我以前看了许多视频,翻那本很厚的指南与高程,最后还是靠《javascript dom 编程艺术》激发我学习兴趣入门。
看了三四次《javascript高级程序设计》就可以看蝴蝶书《javascript语言精辟》,这是讲JS的语法设计,那些语法应该用,那些不应该用(如==、 with、 eval、 argument.caller),这提高你的代码质量必不可少。
如果你想写一个插件或一个库,就要涉及大量DOM,BOM知识了。毕竟javascript是胶水语言,而CSS与HTML在JS里都会映射为DOM,此外还有一些涉及浏览器的东西,叫BOM。
掌握各大浏览器提供的底层DOM、BOM API,及了解它们之间的差异,如何检测它们是否支持,如果屏蔽它们之间的差异性,如何选用最佳的API是我们成为高手的关键。
《PPK 谈 Javascript》,主要是说DOM的兼容性与可用性问题。
《JavaScript DOM高级程序设计》,这本非常优秀,不知为何被理没了(也可能是出版社的缘故,很早就买断货就不知道补课),我在这里了解许多操作CSS的API。
《JavaScript框架设计》这完全是本面向中高级的书,涉及一般书没有讲解过的模块加载器,事件管理系统,选择器引擎,异步列队,动画引擎,及时下日益流行的MVVM架构。
《数据结构与算法JavaScript描述》,越复杂的系统,最后都在架构与算法与数据结构上下功夫,虽然用得不多,但作为一个高手,算法不精真是一个痛点。比较实现一个选择器引擎,人家都会问你比jQuery的快吗?加之JS在这方面也有它的特殊点,因此还得学习。
时下也有许多angular与backbone的书,我本人认为他们基本上照搬官网的API文档,很少能讲到底层的实现,能获得的知识点太少了,它们只能用于入门(你英语不好的话),因此不建议入。
看了三四次《javascript高级程序设计》就可以看蝴蝶书《javascript语言精辟》,这是讲JS的语法设计,那些语法应该用,那些不应该用(如==、 with、 eval、 argument.caller),这提高你的代码质量必不可少。
如果你想写一个插件或一个库,就要涉及大量DOM,BOM知识了。毕竟javascript是胶水语言,而CSS与HTML在JS里都会映射为DOM,此外还有一些涉及浏览器的东西,叫BOM。
掌握各大浏览器提供的底层DOM、BOM API,及了解它们之间的差异,如何检测它们是否支持,如果屏蔽它们之间的差异性,如何选用最佳的API是我们成为高手的关键。
《PPK 谈 Javascript》,主要是说DOM的兼容性与可用性问题。
《JavaScript DOM高级程序设计》,这本非常优秀,不知为何被理没了(也可能是出版社的缘故,很早就买断货就不知道补课),我在这里了解许多操作CSS的API。
《JavaScript框架设计》这完全是本面向中高级的书,涉及一般书没有讲解过的模块加载器,事件管理系统,选择器引擎,异步列队,动画引擎,及时下日益流行的MVVM架构。
《数据结构与算法JavaScript描述》,越复杂的系统,最后都在架构与算法与数据结构上下功夫,虽然用得不多,但作为一个高手,算法不精真是一个痛点。比较实现一个选择器引擎,人家都会问你比jQuery的快吗?加之JS在这方面也有它的特殊点,因此还得学习。
时下也有许多angular与backbone的书,我本人认为他们基本上照搬官网的API文档,很少能讲到底层的实现,能获得的知识点太少了,它们只能用于入门(你英语不好的话),因此不建议入。
发布于 2014-09-13 6 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
3
赞同
反对,不会显示你的姓名
小爝
,http://www.tuer.me
能力、知乎用户、知乎用户 赞同
泻药,我真的建议好好读读 ppk谈javascript和ppk的其他书。。
我在twitter上关注还提问了他几个问题,真心是个好人。。
毕竟前端多和兼容性打交道,ppk应该算是兼容性大师了,而且那本书我印象里还把浏览器的历史给娓娓道来了,对于很多初学者真的是启迪良方。
我真正入门的时候看到就是这本。
ppk的twitter https:// twitter.com/ppk
blog QuirksMode - for all your browser quirks
我在twitter上关注还提问了他几个问题,真心是个好人。。
毕竟前端多和兼容性打交道,ppk应该算是兼容性大师了,而且那本书我印象里还把浏览器的历史给娓娓道来了,对于很多初学者真的是启迪良方。
我真正入门的时候看到就是这本。
ppk的twitter https:// twitter.com/ppk
blog QuirksMode - for all your browser quirks
发布于 2015-08-03 3 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
3
赞同
反对,不会显示你的姓名
《PPK 谈 JavaScript》 (PPK on JavaScript)
发布于 2011-05-23 添加评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
13
赞同
反对,不会显示你的姓名
阿飞
,宇宙无敌美少男
乐观的摸摸头、胡洋洋、刘小年 等人赞同
《javascript高级程序设计》,现在有第二版了吧。书名有“高级”两字,不过讲得还是很基础的一些东西。我感觉这是入门的不二之选。《javascript dom编程艺术》这本也是基础,更侧重于DOM操作这一块。两本看完应该问题不大。
发布于 2011-05-23 2 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
33
赞同
反对,不会显示你的姓名
入门:
《深入浅出JavaScript》
《JavaScript DOM编程艺术》
《JavaScript DOM高级程序设计》
进阶:
《ppk谈JavaScript》
《精通JavaScript》
《JavaScript高级程序设计》
高级:
《JavaScript语言精粹》
《JavaScript设计模式》
《Secrets of the JavaScript Ninja》
《高性能JavaScript》
《深入浅出JavaScript》
《JavaScript DOM编程艺术》
《JavaScript DOM高级程序设计》
进阶:
《ppk谈JavaScript》
《精通JavaScript》
《JavaScript高级程序设计》
高级:
《JavaScript语言精粹》
《JavaScript设计模式》
《Secrets of the JavaScript Ninja》
《高性能JavaScript》
发布于 2011-05-25 5 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
1
赞同
反对,不会显示你的姓名
李南
,嗅觉动物 拍天狂魔 坐在舱里抠手机的机务
知乎用户 赞同
先看《Javascript DOM编程艺术》 再看《Javascript 高级程序设计》 我就是这么看的。 第一本教会你基本的js对网页的操作,并帮你养成你一个好习惯。 第二本虽然写着"高级"二字,但是讲的都是层层深入的。 不推荐《权威指南》,做入门的话真的太细了,也略显晦涩了。
发布于 2014-03-29 1 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
14
赞同
反对,不会显示你的姓名
justjavac
,代码诗人 http://justjavac.com
萧强、II Elizabeth、火尾巴 等人赞同
对于编程入门,我推荐《CODE》,参见: 有哪些比较基础的计算机书籍?
对于具体的语言类,我首先推荐「Head First」系列,好在这个系列有 js 版,深入浅出,妙趣横生。《 深入浅出JavaScript》
看完这个基本就入门了,因为属于大众类,普及类,所以不会枯燥。
其次就是阅读经典,这时应该阅读一下「犀牛书」。
进阶,一个对 js 底层的理解,比如闭包、回调……之类,再就是库的使用,jquery,uderscore,……这时,你已经不局限在用 js 做一些下拉菜单,文字高亮了。当你开发大项目,必然又要使用一些 js 工具,比如持续集成,单元测试,jslint,压缩,……
这时比较适合你的:
对于具体的语言类,我首先推荐「Head First」系列,好在这个系列有 js 版,深入浅出,妙趣横生。《 深入浅出JavaScript》
看完这个基本就入门了,因为属于大众类,普及类,所以不会枯燥。
其次就是阅读经典,这时应该阅读一下「犀牛书」。
进阶,一个对 js 底层的理解,比如闭包、回调……之类,再就是库的使用,jquery,uderscore,……这时,你已经不局限在用 js 做一些下拉菜单,文字高亮了。当你开发大项目,必然又要使用一些 js 工具,比如持续集成,单元测试,jslint,压缩,……
这时比较适合你的:
- JavaScript模式
- 高性能JavaScrip
- JavaScript DOM编程艺术
编辑于 2013-05-11 5 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
2
赞同
反对,不会显示你的姓名
推荐《javascript模式》,全书并不是特别难读。大多数人入门都会选择写一些特效,demo神码的。实际上个人觉得应该稍微掌握一些基础原理性的知识。
前面的答案中有人推荐了高程,犀牛书。作为一个正在入门的人,真心觉得这类书籍适合放在手边随时拿来参考,一方面对于大多数不“喜欢”阅读英文文档资料的童鞋而言,这两本书的翻译质量相对而言有保障,而且译者都是了解这门语言的前沿开发人员;另一方面这两本书相对而言比较系统,全面,这对于掌握这门语言而言是比较合适阅读的。
对于前面推荐的 javascript模式 一书而言,如果有读不懂的地方可以随时参考高程和犀牛书。
提问者的主题中提到的是 JavaScript 入门,其实我更推荐阅读 JavaScript 语言精粹。可能各路大神会喷,我为自己辩护一下,读书取自己所需即可。对于不懂的地方继续参考即可。
说到这里个人感觉无所谓入门书籍。关键在于希望掌握哪一方面的知识,然后不断实践练习,尤其编程这种事情,实践才能出真知。
接下来再继续扯扯个人感觉比较好的书籍,PPK 谈 JavaScript 一书在 DOM 和可用性方面非常值得参考 (虽然书籍写的较早,相关知识比较老,但依然经典) 对于更多 DOM 方面知识自行搜索。
提到搜索,还是要说一句学会搜索。当然在入门的过程中难免会有所误导,对某些知识点掌握得不够好。此时应该用事实证明,自己动手探索。尤其是在感觉模棱两可的时候。
前面的答案中给出了很多值得阅读的书籍资源,可自行选择性的阅读或者照单全收买来阅读。
书籍不在多,在于精读,然后不断实践。
前面的答案七七八八的写了一些,推荐选择一些自己能读下去的书,结合实践去学习。
最后推荐一个已有的知乎问答:如何循序渐进的学习 JavaScript 。(自行搜索下吧)
各路大神勿喷,以上仅仅是个人观点。
PS:真正入门后,书籍的选择,学习的方式心中自然有答案。
前面的答案中有人推荐了高程,犀牛书。作为一个正在入门的人,真心觉得这类书籍适合放在手边随时拿来参考,一方面对于大多数不“喜欢”阅读英文文档资料的童鞋而言,这两本书的翻译质量相对而言有保障,而且译者都是了解这门语言的前沿开发人员;另一方面这两本书相对而言比较系统,全面,这对于掌握这门语言而言是比较合适阅读的。
对于前面推荐的 javascript模式 一书而言,如果有读不懂的地方可以随时参考高程和犀牛书。
提问者的主题中提到的是 JavaScript 入门,其实我更推荐阅读 JavaScript 语言精粹。可能各路大神会喷,我为自己辩护一下,读书取自己所需即可。对于不懂的地方继续参考即可。
说到这里个人感觉无所谓入门书籍。关键在于希望掌握哪一方面的知识,然后不断实践练习,尤其编程这种事情,实践才能出真知。
接下来再继续扯扯个人感觉比较好的书籍,PPK 谈 JavaScript 一书在 DOM 和可用性方面非常值得参考 (虽然书籍写的较早,相关知识比较老,但依然经典) 对于更多 DOM 方面知识自行搜索。
提到搜索,还是要说一句学会搜索。当然在入门的过程中难免会有所误导,对某些知识点掌握得不够好。此时应该用事实证明,自己动手探索。尤其是在感觉模棱两可的时候。
前面的答案中给出了很多值得阅读的书籍资源,可自行选择性的阅读或者照单全收买来阅读。
书籍不在多,在于精读,然后不断实践。
前面的答案七七八八的写了一些,推荐选择一些自己能读下去的书,结合实践去学习。
最后推荐一个已有的知乎问答:如何循序渐进的学习 JavaScript 。(自行搜索下吧)
各路大神勿喷,以上仅仅是个人观点。
PS:真正入门后,书籍的选择,学习的方式心中自然有答案。
发布于 2014-01-31 1 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
4
赞同
反对,不会显示你的姓名
发布于 2015-05-09 2 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
5
赞同
反对,不会显示你的姓名
hoosin
,二流架构师
知乎用户、知乎用户、卢亚伟 等人赞同
我当时看的是 《JavaScript DOM编程艺术》 和 《JavaScript DOM高级程序设计》
后来两本书就一起送给学弟了。
第一本书很大程度是关于良好的习惯和哲学,对我影响很大,比如作者在该书里最强调的“永远不要依赖JavaScript”。(关于这个话题,还有 请不要过于依赖 JavaScript也对我有毒害)。
第二本书以构建一个自己的库为线索,有非常多的实例,大量的代码示例。
不过现在第一本书已经出第二版了,想必哲学有所变化,应该也添加了很多HTML5的时髦玩意儿,应该是很值得推荐的。
后来两本书就一起送给学弟了。
第一本书很大程度是关于良好的习惯和哲学,对我影响很大,比如作者在该书里最强调的“永远不要依赖JavaScript”。(关于这个话题,还有 请不要过于依赖 JavaScript也对我有毒害)。
第二本书以构建一个自己的库为线索,有非常多的实例,大量的代码示例。
不过现在第一本书已经出第二版了,想必哲学有所变化,应该也添加了很多HTML5的时髦玩意儿,应该是很值得推荐的。
编辑于 2013-07-15 添加评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
3
赞同
反对,不会显示你的姓名
匿名用户
知乎用户、寸志、夏天天 赞同
我觉得悟透JavaScript和javascript王者归来这两本书都是作者装B的典范。。
王者归来里面大段大段的fp内容完全照抄国外某些讲fp的书一个字都不改。。以至于看起来有“哦,这货是在讲js么”的错觉,全书为了骗钱到处录代码。。一个dws函数全书估计印刷了100+次!太坑人了
当然从这本书也能学到一点东西这是毋庸置疑的。
悟透JavaScript这本书没细看,作者试图用一种类似宗教和你永远看不太懂的语言组织一些其实非常简单的东西,作者可能认为这才达到了深入浅出的目的,但是很明显,他失败了。。
以上全是个人观点,但是王者归来里面直接把其他人翻译的国外fp(其中有erlang的)某些文章一字不改的印上去这种做法太恶劣了!!
我推荐精通javascript这本书,如你所见这本书是js大牛写的,代码非常具有美感,甚至会有作者是在炫耀智商刷优越感的感觉,然而这本书确实非常好,不必去死抠每一段代码
编辑于 2014-02-20 3 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
2
赞同
反对,不会显示你的姓名
怎么没有人说犀牛书呢?
发布于 2011-05-23 3 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
0
赞同
反对,不会显示你的姓名
入门书籍可以看《javascript100个精彩实例(带光盘)》类似的超级入门书,最适合没任何基础的人看。。。
发布于 2011-05-24 1 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
5
赞同
反对,不会显示你的姓名
犀牛书《javascript 权威指南》,适合初学者看。入门尽量不要看国人写的书,容易误导人。
发布于 2011-05-23 15 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
0
赞同
反对,不会显示你的姓名
除了 "高级" 外的补充:
- High Performance JavaScript (译名不知, 里面有不少知识对于入门的很不错)
- Secrets of the JavaScript Ninja (作者是 Moz 的 JS 布道者, 还是主导 jQuery 开发的)
- jQuery in Action (jQuery 实战, 这本书比较轻松易懂, 是不错的 lib 入门书)
发布于 2011-05-25 添加评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
2
赞同
反对,不会显示你的姓名
刚入门Javascript的新人站在这个时间点怒答一发。
先说结论--《Javascript高级程序设计》是一本非常牛的必读的书,但是不是 入门书。
来一发定义
《Javascript高级程序设计》原名是Javascript for web developers,直译应该是《面向网络开发者的Javascript》,没有各种基本的syntax和解释,直接进入各种细节和技巧,我学完HTML/CSS,顺着很多前辈大神的指点摸出这本书,硬着头皮看了100多面,几乎失去编程的兴趣..... 因为我在"入"这个动作上直接摔残,进都不想进了。我觉得这本书可以作入门的前提是你已经对别的语言有专业级的认识了。
此时我就认识到重要的一点,入门一定不能搞得太难,有没有完备而简洁明快的基本概念的解释应该是最重要的factor,结合我"几乎失去编程的兴趣"这个情况,我选择了codecademy这个国外很火的编程学习网站进行入门的『交互式学习』。简单来说,这个网站的课程就是把Javascript的各种基本概念分章节呈现给你,左侧给你阅读,右侧是你写代码的地方(自带编译器)。
codecademy特别适合入门的原因在于:
希望大家都能早日入门,继续提高。
先说结论--《Javascript高级程序设计》是一本非常牛的必读的书,但是不是 入门书。
来一发定义
var 入门 = 还在门外; // 门外汉
var 新人 = 刚刚入门; //完成了'入'这个动作
此时我就认识到重要的一点,入门一定不能搞得太难,有没有完备而简洁明快的基本概念的解释应该是最重要的factor,结合我"几乎失去编程的兴趣"这个情况,我选择了codecademy这个国外很火的编程学习网站进行入门的『交互式学习』。简单来说,这个网站的课程就是把Javascript的各种基本概念分章节呈现给你,左侧给你阅读,右侧是你写代码的地方(自带编译器)。
codecademy特别适合入门的原因在于:
- 边看边写。任何概念的传授都是在左侧给你概念阅读,读完了下面给你一个任务,你自己在右边写出来。"哇塞,我一新人菜鸟都能写出来好几行代码!这个还能跑起来!"这种成就感满足感对于新人是特别重要的,另外也有利于培养编程学习要不断写代码这个习惯。对于治疗"被虐得失去兴趣"也有惊人的疗效。
- 层次清晰。整个语言的学习有8个unit,每个unit下有两到三个lesson,每个lesson有10-30个task组成,每个task就是最基本的传授某一个知识点然后让你写的地方。方便学习追踪进度,也让那种学习时间不固定的人更方便管理自己的进度。BTW,codecademy自动记录所有代码和你的学习进度,云学习~
- 够简单。有时候让你写的东西在说明上就差一字不差打出来了......而且很多时候会把要求你写的那行代码的上下文全部给出。所以学到后来我自己主动增加难度,光看要求,自己在sublime里写整个代码。另外,如果不会写/代码有错跑不过编译器,看了提示也不能解决,你可以直接点击进入他们的论坛,很多人会把自己的问题发上去,你可以自己去寻找答案,一般到这一步都能解决。
- 实时反馈。如果自己看书写代码,很多时候代码是有bug根本跑不起来的,但是往往就忽略掉了(更别提真手写代码的入门学习者了)。在这里,你的代码,就算是标点符号错了,你都会被提示error,一个新人,在这被虐无数遍,无数次标点符号错了然后查bug查了半小时几乎重写代码几遍最后发现忘打了个『;』,我必须说,这真的很有利于日后变成一个好码农......
希望大家都能早日入门,继续提高。
发布于 2016-01-05 添加评论 感谢
收藏
• 没有帮助
•
• 禁止转载
2
赞同
反对,不会显示你的姓名
我觉得最合适的就是w3c的在线教程,可以很快入门,等入门了就自己跟一两个项目,就能很快就上手了。
发布于 2014-10-23 1 条评论 感谢
收藏
• 没有帮助
•
• 作者保留权利
2
赞同
反对,不会显示你的姓名
Bob Qiu
秋雨、徐晗曦 赞同
最直接的是边操作边学习 推荐用codecademy(
http://www.
codecademy.com),是一个美国网上学习网站,编程,HTML/CSS,C++等什么都有,外国人都用,非常合适零基础爱好者使用。注册后选择Javascript坚持8小时训练,你的进步会让自己惊叹。
发布于 2015-03-13 添加评论 感谢
收藏
• 没有帮助
•
• 作者保留权利