好程序员web前端培训分享函数作用域及递归:作用域的生命周期。
var a = 10;
function m1(){
var a = 5;
alert(a);
}
形参(形式参数)与实参(实际参数)的重要区别
var a = 10;
var x=0;
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>
������>�
网友评论