函数高级应用

函数的定义方式

1.函数声明

function fn(){

console.log(111)

}

2.函数表达式

var fn = function(){

consloe.log(1111)

}

3.内置构造函数

var fn=new Function("num1","num2","return num1+num2")

censloe.log(fn(2,3))

函数的调用方法

函数名()

自调用)()

call()调用    fn1.call();

对象中的函数调用         obj1.say();

数组中函数调用     

函数作为参数的调用

函数作为返回值的调用

 

 

闭包  :      能够读取其他函数内部变量的函数

闭包的用途:

可以在函数外部读取函数内部成员

让函数内成员始终存活在内存中

闭包之访问函数内部

函数递归

案例(思路)

 function fn1(){         console.log(11);         fn2()         console.log("fn1");     }
    function fn2(){         console.log(22);         fn3()         console.log("fn2");     }
    function  fn3(){         console.log(33);         fn4()         console.log("fn3");     }     function fn4(){         console.log(44);         console.log("fn4");     }     fn1()

斐波那契数列

(案例)
  function fibonacci(n){       if(n==1){           return 0       }       if(n==2){           return 1       }
      return fibonacci(n-1) + fibonacci(n-2)   }
  console.log(fibonacci(4));   console.log(fibonacci(5));   console.log(fibonacci(6));   console.log(fibonacci(50));
上一篇:使用eclipse的快捷键自动生成的map或者reduce函数的参数中:“org.apache.hadoop.mapreduce.Reducer.Context context”


下一篇:DP动态规划入门(一)