分享 6 个JavaScript学习资源

分享 6 个JavaScript学习资源

Github 不仅仅是代码托管平台,也是一个学习、开源存储库、教程和指南手册的资源平台。通常遇到技术瓶颈或者有解决不了的问题,都会借助 Github 查找学习资源,本文分享6个JavaScript学习资源。

1 .算法和数据结构

星数:118 k

网址:https://github.com/trekhleb/javascript-algorithms

在前端框架盛行的年代,很多前端工程师成了框架的使用者,对于 JavaScript 的数据结构都停留在学校的阶段,这个 JavaScript 仓库是个不错的资源 。

正如仓库说明那样,每种算法和数据结构都有自己的 README,包含相关说明和链接,以便进一步阅读 (还有 YouTube 视频) 。这对于学习或者提升 JavaScript 技能来说是个不错的资源,值得收藏翻阅。如果正有意应聘字节跳动,建议学习并掌握这些数据结果和算法。

数据结构包括

  • 链表
  • 双向链表
  • 队列
  • 哈希表(散列)
  • 树:二叉查找树、AVL 树、红黑树、线段树 - 使用 最小/最大/总和 范围查询示例、树状数组 (二叉索引树)
  • 图(有向图与无向图)
  • 布隆过滤器

算法

  • 数学
  • 集合
  • 字符串
  • 搜索
  • 排序
  • 动态规划
  • 机器学习

2. Node.js 最佳实践

Node.js 最佳实践

星数:69.8 k


网址:https://github.com/goldbergyoni/nodebestpractices

该仓库是对 Node.js 最佳实践中排名靠前的内容的总结和整理,同时也是目前最大的汇编,每周维持更新。

该仓库目前包含 80 多个最佳实践、风格指南和架构技巧,他们也对贡献持开放态度,因此请随意提出包含代码修复、翻译或新想法的拉取请求。

内容包括:

  • 项目结构
  • 错误处理
  • 代码风格
  • 进入生产阶段
  • 安全
  • Docker

3. 你还不了解的JS

你还不了解的JS

星数:143k


网址:https://github.com/getify/You-Dont-Know-JS

这是一系列深入研究 JavaScript 编程语言核心机制的电子书籍,可在 GitHub 上完全免费的阅读,当然也可以购买

内容包括:

  • JavaScript 的发展历史及工作原理
  • JavaScript 的普遍误解
  • JavaScript基础,例如类型、闭包和原型

4. JavaScript 30

JavaScript 30

星数:16.3k


网址:https://github.com/wesbos/JavaScript30

这个是面向想要熟悉 JS 基础知识的新手和中级开发人员,因此需要有一定的 JS 开发经验,仓库包含 30 个 JS 项目(从构建、入门文件、视频教程和代码解决方案)

5. 整洁代码

星级:55.6 k


网址:https://github.com/ryanmcdermott/clean-code-javascript

正如仓库所述,这是使用 JavaScript 生成可靠、可重用和可重构软件的指南。开发人员应该尽早尝试并实施整洁代码实践,通过编写整洁的代码可以节省大量时间和精力。

该仓库介绍了使用JavaScript的整洁代码概念,并提供了好的和不好的代码示例。

内容包括:

  • 变量
  • 函数
  • 测试
  • 对象和数据结构
  • 格式化
  • 错误处理

6. 33-js-concepts

33-js-concepts

每个 JavaScript 开发者都应该知道的33个概念,项目是为了帮助开发者掌握 JavaScript 概念而创立的。

星级:43.1k


网址:https://github.com/leonardomso/33-js-concepts


中文:https://github.com/stephentian/33-js-concepts

内容目录

  1. 调用堆栈
  2. 原始类型
  3. 值类型和引用类型
  4. 隐式、 显式、 名义和鸭子类型
  5. =====、 typeofinstanceof
  6. thiscallapplybind
  7. 函数作用域, 块级作用域和词法作用域
  8. 闭包
  9. mapreducefilter 等高阶函数
  10. 表达式和语句
  11. 变量提升
  12. Promise
  13. 立即执行函数、模块化、 命名空间
  14. 递归
  15. 算法
  16. 数据结构
  17. 消息队列和事件循环
  18. setTimeoutsetIntervalrequestAnimationFrame
  19. 继承、多态和代码复用
  20. 按位操作符、类数组对象和类型化数组
  21. DOM 树和渲染过程
  22. new 与构造函数、instanceof 与实例
  23. 原型继承与原型链
  24. Object.createObject.assign
  25. 工厂函数和类
  26. 设计模式
  27. Memoization
  28. 纯函数、函数副作用和状态变化
  29. 耗性能操作和时间复杂度
  30. JavaScript 引擎
  31. 二进制、 十进制、 十六进制、 科学记数法
  32. 偏函数、柯里化、ComposePipe
  33. 代码整洁之道

总结

将上面的学习资源按照自己的节奏理解、学习并熟练掌握,足以提高 JavaScript 技能。