搜索
首页web前端js教程学习JavaScript的必备读物
学习JavaScript的必备读物Nov 23, 2016 am 11:22 AM
javascript

  常常有人要我推荐学习JS的书籍或者在线教程。看起来每个人都有很好的理由在JS领域有所行动。如果你对让人兴奋的工作机会很感兴趣的又想要玩一玩有意思的东西,那么JS一定是个很棒的语言。随着JS的流行度增加,相关的书籍、博客和教程也随之大量增多,但是我不可能所有的资源都了解过,但是我看到了一些很不错的东西也想在这里分享给你。

    2060.jpg

  书籍

  请注意,在这里我只会推荐我已经看过的书籍,你肯定可以发现有无数的书和我推荐的一样好。

  《Nicholas Zakas:JavaScript高级程序设计》

  这本书一直都是我推荐书单上的第一名,也是我总和任何JS开发者建议的总放在书架上的一本书。Nicholas Zakas所写的这本书非常非常奇妙:它概括了JS这门语言主要的知识点。想要读点基本知识点?你可以在这本书里找到。想要了解JS的OOP思想?也可以在这本书里找到。想要了解文档对象模型(DOM)?这本书也可以给大家勾画一个大概。本书内容通俗易懂,从JS的基本知识到高级应用都有涉猎概括,因此我将它推荐给所有的JS开发者。

  Stoyan Stefanov:JavaScript设计模式

  要了解现在最常见的JS设计模式,以及这些设计模式是如何恰当地管理和组织你的代码。你所选择的设计模式会成为你的应用的基石,当你在思考如何构建你的站点时,这些设计模式会扮演很重要的角色。Stoyan是这世界上最棒的JS开发者之一,他在Yahoo!和Facebook都工作过也曾参与了YUI的构建。Stoyan很了解他在做的事情,而且他致力于普及将常见的设计模式。

  Stoyan Stefanov:JavaScript面向对象编程指南,英文版

  JavaScript面向对象,请尽情地用你的prototype来嘲笑我好了。因为JS不是传统的基于“类”的面向对象语言。如果你总是在思考原型集成(prototypal inheritance)和混入(mixin),那么你只会变得很wonky。Stoyan又走在了技术大潮的浪头上,他将这个问题划分成了小问题来解释。开始的时候他先是稳步解释了一些语言基础知识让你在实践中去学习,但是他又很快地投入到解释OOP是如何工作的,使用者要如实利用JS的语言优势来构建可重用的对象。

  Nicholas Zakas:编写可维护的JavaScript

  我们都希望我们的程序可以飞速地运行,所以我们时不时会重构优化代码。从学校学习中汲取知识很酷但是我更倾向于从前人的经验中获取资源。这本书将会告诉你如何优化你的代码以提高性能。

  David Herman:编写高质量的JavaScript

  在我第一次看到这本书的时候,我并没有100%肯定它就是我想要,我觉得它更像是把其他JS书籍中的内容进行整合然后编写出来的。但是我看到Dojo的作者Alex Russell和Chrome Frame fame都推荐了它,我还是买下了它,现在我很庆幸当时的举动。本书的作者是Mozilla TC39的代表,同时也是(无论是学术层面上还是工业界层面上的)编程语言领域的专家。这本书的优点之一就在于,它并没有在针对JS这门语言来阐述,它所提供的种种方法是希望编程人员能发挥语言的最大作用。本书中澄清了编程语言的每一部分是怎么工作的(比如约束、柯里化或者自动添加分号)。这本书一定适合希望他们对JS的理解能够更上一层楼的编程人员。

  John Resig and Bear Bibeault: Secrets of the JavaScript Ninja

  不论你对jQuery抱有什么态度,不可否认的是John Resig(jQuery之父)确实创造除了最受欢迎JS库,同时凸显了JS的作用增加了JS的灵活性。这本书花了4年时间完成,但我觉得等待4年一点都不过分。

  JavaScript 的那些书

  淘宝前端工程师 Limu 力荐

  彩蛋

  我知道大家手头比较紧,所以如果有免费的资源是最好的。我很幸运地找到了一个提供一些免费资源的站点。由Revolunent创办的JSbooks提供了一些质量不错的在线资源:

jQuery基础

Addy Osmani的开发BackboneJS应用

Eloquent JavaScript在线版

  博客

  许许多多的人都在博客上分享他们的故事、想法……我们很难辨认出到底要持续关注谁的博客。随着阅历的增加,我尝试着把关注的博客的数量降低,下面这些是我诚挚推荐,认为它们非常有用的:

  DailyJS

  名字已经说明了一切。这个站点提供了前后端的JS相关的新闻和教程。它还会定期整理jQuery的插件。

  Nicholas Zakas

  我并不是Nicolas的粉丝,但是他写的博客确实和他的书一样棒,他的博客中提到的JavaScript的高级应用我认为每一个开发者都要铭记在心。

  David Walsh

  David努力成为一个很优秀的开发者,他参与了MooTools和Dojo框架的开发,现在在Mozilla工作,他的博文有极高的可用性。

  Badass JavaScript

  这也是一个集合报导和教程的站点。常常让我想到过去的Ajaxian,我常在这里寻找各种有意思的库和新的技术。

  JavaScript Weekly

  这是我唯一会留在收件箱中的邮件订阅,每一周的推送都非常的有一席。说正经的,我不知道Peter Cooper怎么能找到这么多有意思的文章。不过要小心,它可是会伤害你的生产力的。

  Addy Osmani

  我认为Addy是最天才的开发者之一,在他的博客中可以看到从jQuery promises到AMD的许多知识,而他发表在编写模块化的JS中的内容非常棒。

  Peter van der Zee

  他是很年轻的开发者,但是Peter的JS知识非常丰富,我相信他会成为Web开发的中流砥柱。快去认识他吧。

  Juriy Zaytsev AKA kangax

  你可以开始订阅Juriy的博客,他是一个生活都离不开ECMAScript的人。

  2ality

  我从没有和Axel Rauschmayer博士接触过,但是发现这个站点的时候我有一种“我勒个去,这哥们碉堡了”的感觉。当你阅读他的文章的时候,你就会知道为什么我会发出这样的感慨了。那些文章都写的很有深度,就像接触到了ECMAScript的底层,非常非常的有意思。

  Nettuts

  是的是的我确实带着偏爱来推荐这个站点的,但是它真的非常非常棒。只要看一看这里的文章你一定会同意我说的。:)

  课程

  如果你不满足于看书和博客而是想多些一点代码,那有成千上万的课程(线上或线下)供你选择来提升自己的能力:

  Nettuts Premium JavaScript Courses(在线)

  在这里你不仅可以找到JS的基础课程,还能找到像Backbone这样的JS框架和OOP这类话题的在线资源。

  The JavaScript Master Class(在线)

  我上了由Thomas Fuchs和Amy Hoy授课的在线课程,个人认为它非常棒,特别是能直接和讲师沟通。

  appendTo’s Free JavaScript Training(在线)

  8个免费的视频课程帮助你学习JavaScript。

  Bocoup Training(线上和线下)

  Bocoup有很棒的练习项目,他们提供了一下在线视频,但是他们的个人练习课堂才是精华所在。

  Codecademy 的 JS 课程(英文)

  Codecademy是一个最容易上手学习如何用JS编程的方式之一。它是一种交互式在线学习平台,非常有趣,你也可以和小伙伴一起来学习。

  JavaScript交互式学习课程-初级(中文)

  课程让您快速认识JavaScript,熟悉基本语法、窗口交互方法和通过DOM进行网页元素的操作,学会如何编写JS代码,如何运用JavaScript去操作HTML元素和CSS样式,为JavaScript深入学习打下基础。

  JavaScript交互式学习课程-进阶(中文)

  课程从如何插入JS代码开始,学习JS基础语法、语法、函数、方法等,让你掌握JS编程思路、知识的使用等,实现运用JS语言为网页增加动态效果,达到与用户交互的目的。

  JavaScript 教程(中文)

  本教程是 W3School JavaScript 教程的入门级版本。内容包括JS基础语法,JS HTML DOM,JS对象,JS Window,JS 库,实例和测验和参考手册。

  获取帮助

  学习一门新语言最难的地方就是找到组织。当有问题的时候你总会希望有人可以为你解答:

JSMentors我和Asen Bozhilov一起创建了JSMentors,希望可以提供一个安全又可以求助的地方给开发者讨论和JS相关的问题。我们想要做一个对初学者友好的站点,所以我们找了一些有名的JS专家来一同回答问题,另外组队也是很棒的想法。

StackOverflow我个人认为这个站点本身就是一个非常好的资源,开发者可以在上面发布他们的问题,另外它还有专门的JS的板块也有和JS相关的库比如jQuery的板块。

JavaScript Topic:汇聚 JS 优秀内容

CSS Topic:汇聚 CSS 优秀内容

Reddit上的JavaScript板块

  总结

  希望今天的信息量没有多到你无法承受,有这么多学习JS的资源真是太棒了,我今天所说的只是冰山一角而已。记住,你需要选择对你最好的方式来学习以节约你的时间。JavaScript是一门很优秀的语言,只是你需要花一些时间搞清楚它的各种细微差别。谢天谢地,你有很多办法能学到这门语言,也有地方供你提问。

  原文链接: Required JavaScript Reading   翻译: 伯乐在线 - kmokidd


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
es6数组怎么去掉重复并且重新排序es6数组怎么去掉重复并且重新排序May 05, 2022 pm 07:08 PM

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

JavaScript的Symbol类型、隐藏属性及全局注册表详解JavaScript的Symbol类型、隐藏属性及全局注册表详解Jun 02, 2022 am 11:50 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

原来利用纯CSS也能实现文字轮播与图片轮播!原来利用纯CSS也能实现文字轮播与图片轮播!Jun 10, 2022 pm 01:00 PM

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

JavaScript对象的构造函数和new操作符(实例详解)JavaScript对象的构造函数和new操作符(实例详解)May 10, 2022 pm 06:16 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

JavaScript面向对象详细解析之属性描述符JavaScript面向对象详细解析之属性描述符May 27, 2022 pm 05:29 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

javascript怎么移除元素点击事件javascript怎么移除元素点击事件Apr 11, 2022 pm 04:51 PM

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

整理总结JavaScript常见的BOM操作整理总结JavaScript常见的BOM操作Jun 01, 2022 am 11:43 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach是es6里的吗foreach是es6里的吗May 05, 2022 pm 05:59 PM

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具