做用域的生命週期。javascript
var a = 10;html
function m1(){ java
var a = 5;函數
alert(a);htm
}遞歸
形參(形式參數)與實參(實際參數)的重要區別生命週期
var a = 10;ip
var x=0;utf-8
function fn(x){作用域
x =a + 10;
}
fn (a);
遞歸的用法
什麼是遞歸?
自身調用自身!
function pr(){
return pr()
}
關鍵點:
1.終止條件
2.運算規則
function pr(n){
if(n==1){ // 終止條件
return n;
}
return pr(n-1)+n;
}
打印任意個hello world;
function pr(n){
if(n==0){
return
}
document.write('hello world!!<br>');
return pr(n-1);
}
pr(10)
案例:求n個數字的和,5 計算1+2+3+4+5
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> </body> <script type="text/javascript"> //函數的聲明 function getSum(x) { if (x == 1) { return 1; } return x + getSum(x - 1); } //函數的調用 console.log(getSum(5)); </script> </html>
案例:輸出斐波那契額數列數列的前20項(遞歸)
斐波那契數列指的是這樣一個數列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> </body> <script type="text/javascript"> function fib(n) { if (n == 1 || n == 2) { return 1 } return fib(n - 1) + fib(n - 2) } for (var i = 1; i <= 20; i++) { document.write(fib(i) + '<br>') } </script> </html>