Javascript 实现匿名递归

介绍了在 javascript 中利用 arguments.callee 来实现匿名递归的方式.

递归是一种常见的编程技巧, 实名递归相信大家都不陌生, 但如果想要实现匿名递归呢? 比如想要返回一个匿名递归函数, 又或者是定义一个匿名递归函数并直接调用它, 该怎样去做呢? 本文将来探讨一下它的实现.

实名递归

我们还是先从实名递归说起吧, 还是用那个最简单的求阶乘的例子:

function fact(n) {
	if (n < 2) {
		return n;
	} else {
		return n * fact(n - 1);
	}
}
console.log(fact(5));

递归要求自己调用自己, 如果函数有名字, 这就太简单不过了.

继续阅读

掉入黑洞你会看到什么?——一个精彩的科普视频

电脑模拟的掉入黑洞时看到的景象。

Evaluation Only. Created with Aspose.HTML. Copyright 2013-2020 Aspose Pty Ltd.网站将让你亲眼看到这一切:

http://jila.colorado.edu/~ajsh/insidebh/index.html

注意:这里可不是艺术家的想象,而是根据科学理论并使用超级计算机模拟的结果。

如果在上述网站中视频打不开或打开缓慢,也可以在国内的 bilibili 站点上看到这些视频:

1、掉入 Schwarzschild 黑洞(带网格线)

2、掉入 Schwarzschild 黑洞(不带网格线)

3、掉入 Reissner-Nordström 黑洞(带网格线)

4、掉入 Reissner-Nordström 黑洞(不带网格线)

重复性管理--从泛值到泛型以及泛函(下)--总结

泛型和泛函, 以及一般化(泛化)过程的总结, 还通过一个数学层面的例子进行了对比.

在前面我们谈论了重复性管理上的一些具体做法, 重点探讨了 泛型范式 在解决重复性问题上的应用. 因为前面的篇幅有很多被具体的代码例子占据了, 所以留到现在这篇做一个归纳总结.

与数学的渊源

应该说, 编程与数学还是颇有渊源的, 或者说它们之间有很多相通的地方. 数学的一个突出特点, 那就是数学家总是在不断寻求更加一般化的表述, 更为抽象的表达. 我们来看一个具体的例子.

数学上有所谓的勾股数, 最知名的就是我们所熟知的"勾三股四玄五"了. 具体而言就是 3^2 + 4^2 = 5^2.

注: 3^2 表示 3 的 2 次方(平方), 因为上标较为麻烦, 其余类似.

继续阅读