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

1 .算法和数据结构

星数:118 k

网址:​​github.com/trekhleb/ja…​

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

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

数据结构包括

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

算法

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

2. Node.js 最佳实践

分享 6 个JavaScript学习资源_数据结构

星数:69.8 k

网址:​​github.com/goldbergyon…​

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

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

内容包括:

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

3. 你还不了解的JS

分享 6 个JavaScript学习资源_数据结构_02

星数:143k

网址:​​github.com/getify/You-…​

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

内容包括:

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

4. JavaScript 30

分享 6 个JavaScript学习资源_GitHub_03

星数:16.3k

网址:​​github.com/wesbos/Java…​

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

5. 整洁代码

星级:55.6 k

网址:​​github.com/ryanmcdermo…​

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

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

内容包括:

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

6. 33-js-concepts

分享 6 个JavaScript学习资源_JavaScript_04

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

星级:43.1k

网址:​​github.com/leonardomso…​

中文:​​github.com/stephentian…​

内容目录

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

总结

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