搜索
首页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
JavaScript在行动中:现实世界中的示例和项目JavaScript在行动中:现实世界中的示例和项目Apr 19, 2025 am 12:13 AM

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

JavaScript和Web:核心功能和用例JavaScript和Web:核心功能和用例Apr 18, 2025 am 12:19 AM

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

了解JavaScript引擎:实施详细信息了解JavaScript引擎:实施详细信息Apr 17, 2025 am 12:05 AM

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python vs. JavaScript:学习曲线和易用性Python vs. JavaScript:学习曲线和易用性Apr 16, 2025 am 12:12 AM

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

Python vs. JavaScript:社区,图书馆和资源Python vs. JavaScript:社区,图书馆和资源Apr 15, 2025 am 12:16 AM

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

从C/C到JavaScript:所有工作方式从C/C到JavaScript:所有工作方式Apr 14, 2025 am 12:05 AM

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

JavaScript引擎:比较实施JavaScript引擎:比较实施Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

超越浏览器:现实世界中的JavaScript超越浏览器:现实世界中的JavaScriptApr 12, 2025 am 12:06 AM

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。

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无尽的。

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 英文版

SublimeText3 英文版

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

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具