用矩阵求第 N 个斐波那契数

编程求解第 N 个斐波那契数是一个经典问题,除了常规解法,本文将介绍几个较为特别的解法。

算法基础思想

本篇介绍一些算法的基础思想。

包括:迭代、数学归纳法、递归、分治。(还讲了一下位运算和排列组合)

自己实现一个 Promise 类

自从 ES6 引入的 Promise 将我们从回调地狱中解放了出来,ES7 提出的 async/await 特性更是进一步地简化了异步代码的编写。

那么我们就通过自己实现一个 Promise 类,来一窥其内部的奥秘(本文将遵照 Promise/A+ 规范实现 Promise,并且添加一些常用的函数)

Node.js 中的事件循环

Node.js 中有一些用于稍后执行的函数,比如 setTimeout(fn, ms)setImmediate(fn) 以及 process.nextTick(fn)。如何区分它们,将与 Node.js 的事件循环机制息息相关。

重新介绍 JavaScript(一)

为什么会有这一篇 “重新介绍” 呢?因为 JavaScript 堪称世界上被人误解最深的编程语言。虽然常被嘲为“玩具语言”,但在它看似简洁的外衣下,还隐藏着强大的语言特性。 JavaScript 目前广泛应用于众多知名应用中,对于网页和移动开发者来说,深入理解 JavaScript 就尤为必要。

本篇涉及类型、变量、运算符、对象以及数组。

JavaScript 中的相等性判断

JavaScript 中提供了三种不同的值比较操作:

  • 严格相等(”Strict Equality Comparison”, or “Identity”):===
  • 宽松相等(”Abstract Equality Comparision”, or “Loose Equality”):==
  • 同值判断(”SameValue”):Object.is(ECMAScript 2015 新特性)

JavaScript 中的闭包(Closures)

什么是闭包?哪里用得到闭包?

闭包是函数和声明该函数的词法环境的组合。

JavaScript 的 new 操作符

JavaScript 的 new 操作符都做了些什么?如何用一个函数来模拟 new 呢?

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×