闭包
function fn(){
var x=1;
return function (){
console.log(x);
}
}
fn()();
回调
function fn(){
console.log( [...arguments] )
}
实参 -- 任何数据类型
fn("a",1,true,null,undefined,['x',"y"],{"name":"gao"});
function fn1(x){
x();
}
将函数 当作 另一个函数 的 参数 -- 这个函数叫 回调函数 fn1( function (){
console.log("aaaaaaaa");
}
)
递归
function fn(num){
if(num == 1){
return num
}
return num + fn(num -1)
return num + arguments.callee( num-1 )
}
console.log( fn(100) );//100 + 99 +98 +97
1、1、2、3、5、8、13、21、34
第6 --- 8
F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*) function fbnq(n){
if(n==0){
return 0;
}
if(n==1){
return 1 }
return fbnq(n-1) + fbnq(n-2)
console.log( fbnq(7) );