js递归函数递归调用与匿名函数

发布时间:2019-09-14编辑:脚本学堂
本文介绍了js递归函数与递归调用的方法,定义函数的三种方式,涉及递归调用时,建议使用匿名函数,有需要的朋友参考下。

本节内容:
js递归函数匿名函数用法

所谓递归就是函数内部调用自己,例如:
 

function fn1(n){
return n>2?fn1(n-1)+fn1(n-2):n;
}

定义函数的三种方式

1、函数关键字(function)语句:
 

function fnMethodName(x){alert(x);}

2、函数字面量(Function Literals):
 

var fnMethodName = function(x){alert(x);}(匿名函数)

3、Function()构造函数
 

var fnMethodName = new Function(‘x’,'alert(x);’)

注意:涉及递归调用时,建议使用匿名函数。

javascript匿名函数的代码模式 (www.jb200.com
1、函数字面量:首先声明一个函数对象,然后执行它。
 

(function(){
  alert(1);
} ) ( );

2、优先表达式:由于javascript执行表达式是从圆括号里面到外面,所以可以用圆括号强制执行声明的函数。
 

( function(){
  alert(2);
} ( ) );

3、Void操作符:用void操作符去执行一个没有用圆括号包围的一个单独操作数。
 

void function(){
  alert(3);
}()

javascript递归函数

javascript 支持函数的递归调用。
所谓递归函数,就是在函数体内调用函数本身。

例子,使用递归函数求阶乘,递归函数求 6! 。
 

function fact(num){
    if (num<=1){
        return 1;
    }else{
        return num*fact(num-1);
    }
}
document.write(fact(6));

注意:
使用递归函数一定要使用 return 语句返回,否则会进入死循环。