js 计算 Fibonacci 值,用到知识点:递归调用"匿名函数"

知识点:递归调用"匿名函数" 

算法:计算 Fibonacci  值

代码:5.3.js

/**
 * Created by jaloli on 2016/6/6.
 */
//(1)匿名函数递归调用
var result = function (num) {  //这种定义和下面的定义等价,这种,调用result(5)
//function fibonacci(num){    //这种定义调用fibonacci(5)
    return (function(num){ //这个是匿名函数,下面要递归调用这个匿名函数,用到arguments.callee(num-1) 这种方式
        if(typeof num !== "number") return -1
        num = parseInt(num)
        if(num<1) return -1
        if(num == 1 || num == 2) return 1
        var x = arguments.callee(num-1)
        var y = arguments.callee(num-2)
        return x+y
    })(num)  //这里加个(num),是直接运行匿名函数的方式
}
document.writeln("fibonacci result: " + result(6) + "<br>")

//(2)立即执行匿名函数
var param = 0;
(function(i){
    alert("我是立即执行的函数" + param)
})(param) //这种立即执行的匿名函数,这个位置需要写上(param),才能传参,否则上行的param 变量显示undefined

//(3)js 中函数也是对象,下面这种就是声明函数赋值给变量,通过变量对象调用函数
var f2 = function() {
    document.write("函数也是对象,我是对象调用的结果" + "<br>")
}
f2();//

//(4) 使用缓存,暂未运行
var num = 0


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值