JavaScript中的函数(第二部分)

函数

11.声明提升:

1.变量声明的提升:
	使用var声明的变量,会提前到当前作用域的开始位置被声明,而在原来的位置
被赋值.
	console.log(a);		//undefined
    var a = 1;
    console.log(a);		//1
    
2.函数的提升:
	在当前作用域内声明的function函数,在被解析时会整体提升,该函数可以在
当前作用域内的任何位置被调用.
	fn();				//hello
	function fn(){
		console.log("hello");
	}
	fn();				//hello
	
3.那么都会被提升,顺序是怎样的呢?
	当函数名和变量重名,变量的提升更高,函数的提升在变量的下面,使得函数
生效

12.JS的编译和执行:

先检查语法错误:
	语法错误,当前代码段不执行;
声明提升:
	变量提升和函数提升,作用域内所有使用var声明的变量和非匿名函数;
开始编译:
	逐行执行;

13.递归:

什么是递归?
	就是在函数体内调用本函数;是一种调用模式,是一种逻辑程序基础的体现;
递归会消耗大量内存,在实际开发中很少使用.

如何使用?
	简单的说就是找到“头”和“尾”;

	注意:递归最重要的是终止条件。
举个栗子:
求5的阶乘:5!
	function fn(n){
		//递归终止条件,也就是“头”
		if(n == 1){
		return 1;
		}
		//递归终止条件,也就是“头”
		//递归规律,也就是“尾”
		else{
			return n * fn(n-1);
		}
		//递归规律,也就是“尾”
	}
	console.log(fn(5));		//120

声明:
纯属个人总结,有错误欢迎大家指出,互相学习,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值