什么是函数:
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
函数的作用:
使程序变得更简短而清晰
有利于程序维护
可以提高程序开发的效率
提高了代码的重用性(复用性)

函数的整体语法:
参数 是函数执行任务时所需要的参数, 它可以让函数的适应性更强,更加灵活多变
1.定义函数:
声明函数的关键字 函数名(参数)

function myFun(){
                     函数体(也就是,需要执行的功能) 
					}

重要事项:
1. 函数只定义,不调用的话,是不执行 的
2. 函数在哪里调用,就在哪里执行
3. 函数调用的次数,不限

无参无返回值

function myFun(){
             alert("我是一个函数");
          }

函数调用: 通过函数名直接调用即可, 无论是否有参数,都需要带上小括号
myFun();

函数的四种形态:

有参无返回值
形参: 自定义名称,不需要加var 就可以声明内存空间

function myFunTwo(c,e){  //形式参数列表 , 简称形参
             alert(a+b);
         }

函数调用
实参: 是向函数内部,传递的数据

var aa = 3;
          myFunTwo(4,aa); // 实际参数 ,简称实参
          myFunTwo(5,10);
          myFunTwo(1,2);

在调用函数的过程中,实参是具体的数据, 形参只是一块空白的内存空间;
实参向形参 传参这个过程, 就是一个值拷贝的过程。 形参负责存储实参拷贝 的值,并在函数中使用
但函数执行结束后,形参这块内存被回收,下次函数再被调用时,重新分配给形参空间;
实参给形参赋值, 是按照实参()中,书写的顺序的来的

//定义一个函数, 可以求出两个数的最大值
             function av(c,d){
                 var e = c > d ? c : d;
                 alert("最大值是:" + e);
             }
//           av(10,15);
  1. 无参有返回值
function sum(){
                 var s = 0;
                 for(var i = 1; i < 101; i++){
                      s += i;
                 }
                 
                 return s;
             }
             var num = sum();
             console.log(num);   //5050
  1. 有参有返回值
function KFC(a,b){           
                   return a*b;
             }   
             var c = KFC(1,2);
             console.log(c);

函数的返回值:

  1. 需要写在return关键字后, 可以是一个值,也可以是一个表达式计算出来的值。
  2. return在一个函数中,理论上可以出现很多个,但是只有一个会执行
  3. return被触发后,当前函数立刻结束,它下面的代码不再执行。

1.函数在哪里调用, 返回值就去到了哪里
2.有返回值的情况,一定需要新建变量来接受

函数嵌套

不允许嵌套定义, 嵌套的是调用

比较两个 数的大小

function TwoNumber(av,bv){
		 			return av>bv ? av:bv;
		 	}		 	
			 var sml = TwoNumber(1,2);

比较三个数的大小

function ThreeNumber(a,b,c){
		 		
		 		var s = TwoNumber(a,b);
		 		return s > c ? s : c;
		 	}
		 	
		  var  cn =	ThreeNumber(2,3,5);

形参的命名:

  1. 在定义函数的小括号中自定义,符合命名规则即可。
  2. 一旦定义过,在当前函数内,必须按照定义好的名字使用
var max = ThreeNumber(31,411,54);
		 	console.log(max);