简介

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

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

更新

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

  • 文章的排序优化,前面的文章是介绍概念,后面的文章是深入解读。
  • 将原文的 "高阶函数" 和 "map, reduce, filter" 合并为 "map, reduce, filter 等高阶函数"
  • 增加 "promise" 概念(替换删除的 "高阶函数")

目录

  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. 代码整洁之道

1. 调用堆栈

文章

  • JavaScript开发者应懂的33个概念的更多相关文章

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

      摘要: 基础很重要啊! 原文:33 concepts every JavaScript developer should know 译文:每个 JavaScript 工程师都应懂的33个概念 作者:s ...

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

      最近福利发的有点多啊,各种硬干货,小伙伴们是不是觉得很爽啊.Github真的蕴含着各种各样的宝藏,难怪各个大厂也都纷纷贡献自己的代码到Github上. 所以各种干货还是会源源不断的po给大家,觉得有帮 ...

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

      简介 这个项目是为了帮助开发者掌握 JavaScript 概念而创立的.它不是必备,但在未来学习(JavaScript)中,可以作为一篇指南. 本篇文章是参照 @leonardomso 创立,英文版项 ...

    4. JavaScript 开发者都应该知道的十个概念

      1. 原始值和引用值(Value vs. Reference) 理解对象.数组和函数是如何复制和传递到函数中的.了解引用值是被复制了什么,理解原始值是通过复制值来进行复制和传递的. 简析:ECMASc ...

    5. JavaScript应懂的概念

      目录 垃圾回收 函数作用域, 块级作用域和词法作用域 调用堆栈 原始类型 值类型和引用类型 隐式, 显式, 名义和鸭子类型 == 与 ===, typeof 与 instanceof this, ca ...

    6. 每个JavaScript开发人员应该知道的33个概念

      每个JavaScript开发人员应该知道的33个概念 介绍 创建此存储库的目的是帮助开发人员在JavaScript中掌握他们的概念.这不是一项要求,而是未来研究的指南.它基于Stephen Curti ...

    7. 2015 年 JavaScript 开发者调查报告

      你写什么类型的 JavaScript? 97.4% 的受访者写 JavaScript 的 Web 浏览器,其中有 37% 写移动 Web 应用. 一些参与者回复,他们会在其他地方用 JavaScrip ...

    8. 【译】JavaScript 开发者年度调查报告

      截至目前有超过了 5000 人参与了(该次调查),准确的说是 5350 人.我迫不及待的想要和大家分享一下这次调查的细节.在分享之前我想要感谢参与调查的每一个人.这是 JavaScript 社区一个伟 ...

    9. 给 JavaScript 开发者讲讲函数式编程

      本文译自:Functional Programming for JavaScript People 和大多数人一样,我在几个月前听到了很多关于函数式编程的东西,不过并没有更深入的了解.于我而言,可能只 ...

    随机推荐

    1. cookie小栗子-实现简单的身份验证

      关于Cookie Cookie是一种能够让网站Web服务器把少量数据储存到客户端的硬盘或内存里,或是从客户端的硬盘里读取数据的一种技术. 用来保存客户浏览器请求服务器页面的请求信息,可以在HTTP返回 ...

    2. C# RabbitMQ

      鉴于本人很懒,发现好的文章一般都直接copy,本文大体摘自:https://www.cnblogs.com/MuNet/p/8546192.html 1.引言 RabbitMQ——Rabbit Mes ...

    3. 抓包工具tcpdump用法说明

      tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上. 不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包. 例如: ...

    4. CEC和ARC介绍

      众所周知,HDMI作为一个数字化视频音频的接收标准,是可以同时传输视频和音频的,当然随着HDMI版本的提升,它的功能也一直在增强.事实上 当HDMI升级到1.3时,人们就发现了HDMI多了一个CEC功 ...

    5. Lua的内存管理

      [前言] 在历史长河中,各种各样的新语言,总是伴随着我们编程人员:有的时候,工作的需要,我们不得不去学习这些很炫的,很新的语言.学习任何一门语言(我这里只说学习),都无非就是学习那么几个大模块,基本语 ...

    6. Elasticsearch 安装和配置

        1. 下载并解压   wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz   ...

    7. 适合前端学习JS的网站

      https://developer.mozilla.org/zh-CN/docs/Web/JavaScript

    8. mybatis mapper文件里的<set><trim>

      简单介绍:翻看以前在学校写的代码,发现那时候有一个sql写的很有意思,用到了 <set>标签,和我现在写的虽然有点差别,但是效果一样 代码: //mapper里的sql <updat ...

    9. 树上背包O(n*m^2)|| 多叉树转二叉树 || o(n*m)???

      #. 选课 描述 提交 自定义测试 问题描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习.现在有 ...

    10. jQuery的下拉选select2插件用法

      1转自:https://www.jb51.net/article/95561.htm 用了这么久的Select2插件,也该写篇文章总结总结.当初感觉Select2不是特别好用,但又找不到比它更好的下拉 ...