专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

好程序员web前端分享函数作用域及递归

ins518 2024-10-12 20:58:58 技术文章 24 ℃ 0 评论

好程序员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>

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表