函数:就是封装了一段可以被重复执行调用的代码块,目的就是让大量的代码重复使用
分两步:声明函数和调用函数
//1.声明函数//function 函数名() { //函数体//}function sayHi(){ console.log('hi~~');}//function 声明函数的关键字 全部小写//函数是做某件事情,函数名一般是动词 sayHi//2.调用函数sayHi();//调用函数的时候千万不要忘记加小括号//函数不调用,自己不执行函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口

//function 函数名(形参1,形参2){// 在声明函数的小括号里面是 形参 (形式上的参数) //}//函数名(实参1,实参2);// 在函数调用的小括号里面是实参(实际的函数)function cook(aru){// 形参是接受实参的 aru = '西红柿炒鸡蛋' 形参类似于一个变量 console.log(aru);}cook('西红柿炒鸡蛋');cook('小鸡炖蘑菇');//函数的参数可以有,也可以没有,个数不限
## 函数的返回值//function 函数名(){// return 需要返回的结果;//}//函数名(); function getMax(num1, num2){ if(num1 > num2){ return num1; }else{ return num2; } } console.log(getMax(9, 2));function getSum(num1, num2) { return num1 + num2;// return 后面的代码不会被执行 alert('我是不会被执行的哦!');}consolse.log(getSum(1,2));function fn(num1, num2){ return num1, num2;// 返回的结果是最后一个值}console.log(fn(1,2));//求任意两个数加减乘除结果function getResult(num1, num2){ return[num1 + num2, num1 - num2, num1 * num2, num1 / num2 ];}var re = getResult(1,2);//返回的是一个数组console.log(re);function fun1(){ return 666;}console.log(fun1());// 返回666function fun2 (){ }console.log(fun2());//函数返回结果是undefined当不确定有多少个参数传递的时候,可以用arguments来获取。在JavaScript中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。arguments的使用:只有函数才有arguments对象,而且每个函数都内置好了这个arguments
arguments展示形式是一个伪数组,因此可以进行遍历。伪数组特点:
function fn(){ console.log(arguments);}fn(1,2,3);//利用函数求任意个数的值function getMax(){ var max = arguments[0]; for(var i = 1; i < arguments.length; i++){ if(arguments[i] > max){ max = arguments[i]; } } return max;}console.log(getMax(1,2,3));console.log(getMax(11,222,34,999));console.log(getMax(100,79,34,563,12,87));//3//999///563//函数是可以相互调用的function fn1(){ console.log(11); fn2;// 在fn1 函数里面调用了fn2 函数}fn1();function fn2(){ console.log(22);}// 11 22//用户输入年份,输出当前年份2月份的天数function backDay(){ var year = prompt('请输入年份:'); if(isRunYear(year)){//调用函数需要加小括号 alert('当前年份是闰年2月份有29天'); }else{ alert('当前年份是平年2月份有28天'); }}backDay(2000);//利用函数判断闰年function isRunYear(nianfen){//如果是闰年我们返回true,否则返回 false var flag = false; if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){ flag = true; } return flag;}1.利用函数关键字自定义函数(命名函数)
function fn(){}fn();2.函数表达式(匿名函数)
//var 变量名 = function(){};var fun = funcction(aru){ console.log('我是函数表达式'); console.log(aru;)}fun('你好啊');//1.fun是变量名,不是函数名//2.函数表达式声明方式跟声明变量差不多,只不过变量里面存的是值,而函数表达式里面存的是函数//3.函数表达式也可以进行传递参数