每天CookBook之JavaScript-033

  • 递归函数的使用
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>033</title>
</head>
<body>
    
</body>
<script type="text/javascript">
(function () {
    var reverseArray = function(x,indx,str){
    return indx == 0 ? str : reverseArray(x, --indx,(str+=""+x[indx]));
}
var arr =  ['apple','orange','peach','lime'];
var str = reverseArray(arr,arr.length,"");
console.log(str);
var arr2 = ['car','boat','sun','computer'];
str = reverseArray(arr2, arr2.length, "");
console.log(str);
})(); 

(function () {
    var fibonacci = function(n) {
        return n <2 ? n:fibonacci(n-1) + fibonacci(n-2);
    }
    console.log(fibonacci(10));
})(); 

(function () {
    var orderArray = function(x,indx,str){
        return indx == x.length -1 ? str:orderArray(x,++indx, str+=x[indx] + " "); 
    }
    var arr = ['apple','orange','peach','lime'];
    var str = orderArray(arr,-1,"");
    console.log(str);
})(); 

(function () {
    function factorial (num) {
         if (num == 0) {
            return 1;
         } else {
            return (num * factorial(num - 1));
         }
    }

    console.log(factorial(5));
})(); 
</script>
</html>
posted @ 2016-07-14 22:12  4Thing  阅读(100)  评论(0编辑  收藏  举报