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

简介

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

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

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

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

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

文章

(0)

相关推荐

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

    简介 这个项目是为了帮助开发者掌握 JavaScript 概念而创立的.它不是必备,但在未来学习(JavaScript)中,可以作为一篇指南. 本篇文章是参照 @leonardomso 创立,英文版项目地址在这里. 由于原版资源都要翻墙,所以本人创立一个中文版,附上关于这些概念在国内的一些文章和视频. 若有觉得更好的文章或者视频,可以贡献出来,觉得有误的,请联系我删除. 若有觉得更好的文章或者视频,可以贡献出来,觉得有误的,请联系我删除. 文章的排序优化,前面的文章是介绍概念,后面的文章是深入解

  • 【经验总结】编写JavaScript代码时应遵循的14条规律

    本文讲述了编写JavaScript代码时应遵循的14条规律.分享给大家供大家参考,具体如下: 1. 总是使用 'var' 在javascript中,变量不是全局范围的就是函数范围的,使用"var"关键词将是保持变量简洁明了的关键.当声明一个或者是全局或者是函数级(function-level)的变量,需总是前置"var"关键词,下面的例子将强调不这样做潜在的问题. 不使用 Var 造成的问题 var i=0; // This is good - creates a

  • WEB前端开发都应知道的jquery小技巧及jquery三个简写

    一个简单技巧的集合,帮你提升 jQuery 技能.目前小编给大家整理了14个jquery小技巧. 目录结构 1回到顶部按钮 2预加载图片 3检查图片是否加载完毕 4自动修复损坏的图片 5Hover 上的 Class 开关 6禁用 input 字段 7停止链接加载 8淡入淡出/滑动开关 9简单的折叠效果 10将两个 Div 设为相同高度 11在新窗口打开外部链接 12找到文本元素 13切换可视与隐藏的触发器 下面给大家介绍每个小技巧的具体含义. 1.回到顶部按钮 通过使用 jQuery 中的 an

  • javascript 正则表达式相关应介绍

    string 对象 1.str.match(RegExp) 在str中搜索匹配RegExp的字符串并保存在一个数组内返回, 如果RegExp不是全局设置(/g),仅匹配一次 复制代码 代码如下: ("abc112dwfwabcwef2abc3wfwabcasqf453abcqwf24j234h").match(/abc\d*/g); //结果 ["abc112", "abc", "abc3", "abc",

  • JavaScript中对循环语句的优化技巧深入探讨

    循环是所有编程语言中最为重要的机制之一,几乎任何拥有实际意义的计算机程序(排序.查询等)都里不开循环. 而循环也正是程序优化中非常让人头疼的一环,我们往往需要不断去优化程序的复杂度,却因循环而纠结在时间复杂度和空间复杂度之间的抉择. 在 javascript 中,有3种原生循环,for () {}, while () {}和do {} while (),其中最为常用的要数for () {}. 然而for正是 javascript 工程师们在优化程序时最容易忽略的一种循环. 我们先来回顾一下for

  • 有关JavaScript的10个怪癖和秘密分享

    原文作者:Andy Croxall原文链接:Ten Oddities And Secrets About JavaScript翻译编辑:张鑫旭 数据类型和定义 1. Null是个对象 JavaScript众多类型中有个Null类型,它有个唯一的值null, 即它的字面量,定义为完全没有任何意义的值.其表现得像个对象,如下检测代码: 复制代码 代码如下: alert(typeof null); //弹出 'object' 如下截图: 尽管typeof值显示是"object",但null并

  • 聊聊Javascript中try catch的2个作用

    程序是从上到下顺序执行的,同时可以通过一些控制语句来改变执行的路线,受控制语句影响下,程序最终的执行路线就是控制流. js 里面的控制语句有 if.for.while.try catch 等,它们都会改变程序的走向. 程序是操作数据的,随着程序的运行,也就是控制流的前进而改变的数据叫做数据流. 很明显,数据流是依赖控制流的,程序分析里面的数据流分析也是要先做控制流分析. 比如这样一段代码: const a = 1; let b; if (a === 1) { b = '1111'; } else

  • 每个程序员都需要学习 JavaScript 的7个理由小结

    最近在和招聘经理交流现在找一个好的程序员有多难的时候,我渐渐意识到了现在编程语言越来越倾重于JavaScript.Web开发人员尤其如此.所以,如果你是一个程序员,那么你应该去学习JavaScript. 需求 我之所以这样说的主要原因是,随着JavaScript的日渐成熟,以及Node.js方案变得越来越可行,我们对JavaScript程序员的需求正在持续增长. JavaScript在需求比例上已经超过了C#,仅屈居于Java之下.如果你看看GitHub上可行的项目,你会发现JavaScript

  • 彻底弄懂 JavaScript 执行机制

    不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序.因为javascript是一门单线程语言,所以我们可以得出结论: javascript是按照语句出现的顺序执行的 看到这里读者要打人了:我难道不知道js是一行一行执行的?还用你说?稍安勿躁,正因为js是一行一行执行的,所以我们以为js都是这样的: let a = '1'; console.log(a); let b = '2'; console.lo

  • JavaScript prototype对象的属性说明

    一.什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的.我们使用prototype属性提供对象的类的一组基本功能.并且对象的新实例会"继承"赋予该对象原型的操作.但是这个prototype到底是怎么实现和被管理的呢?对于对象的prototype属性的说明,JavaScript手册上如是说:所有 JavaScript内部对象都有只读的 prototype 属性.可以向其原型中动态添加功能(属性和方法

随机推荐