每个JavaScript工程师都应懂的33个概念

摘要: 基础很重要啊!

Fundebug经授权转载,版权归原作者所有。

简介

这个项目是为了帮助开发者掌握 JavaScript 概念而创立的。它不是必备,但在未来学习(JavaScript)中,可以作为一篇指南。

本篇文章是参照 @leonardomso 创立,英文版项目地址在这里。 由于原版资源都要翻墙,所以本人创立一个中文版,附上关于这些概念在国内的一些文章和视频。 若有觉得更好的文章或者视频,可以贡献出来,觉得有误的,请联系我删除。

更新

若有觉得更好的文章或者视频,可以贡献出来,觉得有误的,请联系我删除。

  • 文章的排序优化,前面的文章是介绍概念,后面的文章是深入解读。
  • 将原文的 "高阶函数" 和 "map, reduce, filter" 合并为 "map, reduce, filter 等高阶函数"
  • 增加 "promise" 概念(替换删除的 "高阶函数")
  • 2018-10-24 更新:@BuptStEve 贡献的三篇关于“函数式编程”方面的文章

目录

  • 调用堆栈
  • 原始类型
  • 值类型和引用类型
  • 隐式, 显式, 名义和鸭子类型
  • == 与 ===, typeof 与 instanceof
  • this, call, apply 和 bind
  • 函数作用域, 块级作用域和词法作用域
  • 闭包
  • map, reduce, filter 等高阶函数
  • 表达式和语句
  • 变量提升
  • Promise
  • 立即执行函数, 模块化, 命名空间
  • 递归
  • 算法
  • 数据结构
  • 消息队列和事件循环
  • setTimeout, setInterval 和 requestAnimationFrame
  • 继承, 多态和代码复用
  • 按位操作符, 类数组对象和类型化数组
  • DOM 树和渲染过程
  • new 与构造函数, instanceof 与实例
  • 原型继承与原型链
  • Object.create 和 Object.assign
  • 工厂函数和类
  • 设计模式
  • Memoization
  • 纯函数, 函数副作用和状态变化
  • 耗性能操作和时间复杂度
  • JavaScript 引擎
  • 二进制, 十进制, 十六进制, 科学记数法
  • 偏函数, 柯里化, Compose 和 Pipe
  • 代码整洁之道

1. 调用堆栈

文章

视频

2. 原始类型

文章

视频

3. 值类型和引用类型

文章

4. 隐式, 显式, 名义和鸭子类型

文章

视频

5. == vs ===, typeof vs 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. 代码整洁之道

文章

关于Fundebug

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了7亿+错误事件,得到了Google、360、金山软件、百姓网等众多知名用户的认可。欢迎免费试用!

原文链接:https://github.com/stephentian/33-js-concepts

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云霄雨霁

设计模式----迭代器模式

18900
来自专栏python3

python3--字典,字典的嵌套,概念:分别赋值

  字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储...

36130
来自专栏HT

玩转 HTML5 下 WebGL 的 3D 模型交并补

建设性的立体几何具有许多实际用途,它用于需要简单几何对象的情况下,或者数学精度很重要的地方,几乎所有的工程 CAD 软件包都使用 CSG(可以用于表示刀具切削,...

233100
来自专栏python3

习题10:那是什么?

    I'm tabbed in. I'm split on a line. I'm \ a \ cat. I'll do a list:     * Ca...

6910
来自专栏xingoo, 一个梦想做发明家的程序员

堆排序

构建堆的时间复杂度为O(n),而第I次调整堆的时间复杂度为O(logi),因此,无论什么情况下时间复杂度都为O(nlogn)。 算法思想:   首先,对数组从n...

20880
来自专栏JackieZheng

初探JavaScript(一)——也谈元素节点、属性节点、文本节点

  Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^   基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的...

24770
来自专栏猫哥学前班

从 RegExp 构造器看 JS 字符串转义设计

上周接到一个需求,根据页面 url 来决定是否出现一个弹窗提示。为了方便管理这个特性,我将 url 列表配置在了后台,前端通过接口取得列表再进行校验。

20980
来自专栏程序员的知识天地

JavaScript 开发人员需要知道的简写技巧

本文来源于多年的 JavaScript 编码技术经验,适合所有正在使用 JavaScript 编程的开发人员阅读。

8410
来自专栏工科狗和生物喵

【我的漫漫跨考路】数据结构之队列的线性实现

正文之前 最近在家流年不利,先是昨天家里路由器还是ADSL调制解调器坏了。反正是没网了!然后,今天上午还停电了,昨晚因为熬夜写码,所以忘了给手机充电了。早上起来...

28680
来自专栏cs

javascript基础知识点1.0

知识点综述: ---- 在复习JavaScript语法,主要看的是w3cschool的教程。 用法: 1.0必须位于<script></s...

360130

扫码关注云+社区

领取腾讯云代金券