• 今天看到一个递归函数写法, 用到命名函数表达式 。 然后网上查了下相关资料,贴出来分享一下。
	var fs = (function test(num) {
		if (num <= 1) {
			return num;
		} else {
			return num * test(num - 1)
		}
		    //下面这两行代码完全不会影响运行,可以试试
		    //var f = test;
		    // test = null;
	});
	var num = 7
	console.log(num, "递归数字")
	console.log(fs(num), "递归结果")
  • 这样即使函数赋值给了另外一个变量,f()函数依然是有效的,所以递归调用能正常完成。而且这种方式在严格模式和非严格模式下都可以使用哦。

深入理解命名函数表达式

转自 Sunshine丶 https://www.cnblogs.com/sunshine-c/articles/5815895.html
转自 汤姆大叔 https://www.cnblogs.com/TomXu/archive/2011/12/29/2290308.html

相关文章:

  • 2022-12-23
  • 2021-07-13
  • 2022-01-16
  • 2021-11-08
  • 2021-07-02
  • 2021-12-22
  • 2021-06-27
猜你喜欢
  • 2021-06-04
  • 2021-07-08
  • 2021-07-17
  • 2022-01-17
相关资源
相似解决方案