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

来源:互联网 发布:程序员编程艺术 pdf 编辑:程序博客网 时间:2024/05/29 17:39

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

算法:计算 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