小小千想和您聊一聊

当前位置: 首页> 技术分享> 函数作用域及递归

函数作用域及递归

  作用域的生命周期。

  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!!
');

  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>

上一篇:HTML5工具初识之网页编辑器

下一篇:数组及排序、去重和随机点名

QQ技术交流群

千锋HTML5官方①群
791201477

加入群聊