1.函数的概念
函数是什么:就是封装了一段可被重复调用执行的代码块,通过此代码块可以实现大量代码的重复使用
函数的目的:使大量代码重复使用
2.函数的使用
2.1 声明函数
function 函数名(){ /function 声明函数的关键字,全部小写
/函数体 /函数名一般是动词,表示做某件事
} /函数不调用自己不执行
2.2 调用函数
函数名(); / 通过调用函数名来执行函数体代码
2.3 函数的封装
- 函数的封装是把一个或者多个功能通过函数的方式封装起来,对外提供一个简单的函数接口
- 简单理解:封装类似于将电脑配件整合组装到机箱的机箱中(类似快递打包)
2.4(案例)利用函数求任意两个数之间的和
/声明函数
function getSum(num1,num2){
var sum = 0 ;
for (var i = num1; i <= num2;i++){
sum += i;
}
console.log (sum);
}
/调用函数
getSum(1,100);
3.函数的参数
3.1 形参和实参
/我们可以利用函数的参数实现函数重复不同的代码
function 函数名 (形参1,形参2....){ /在声明函数的小括号里面是形参(形式上的参数)
函数体
}
函数名(实参1,实参2....); /在函数调用的小括号里面是实参(实际的参数)
3.2 形参和实参的执行过程
/声明函数
function getSum(num1,num2){ /形参是接收实参的实际数据,类似于一个变量
var sum = 0 ;
for (var i = num1; i <= num2;i++){ /首先形参接收实参的数据,然后函数体再输出
sum += i;
}
console.log (sum);
}
/调用函数
getSum(1,100); /实际的参数,函数调用的时候传递参数,实参传递给形参
3.3 函数形参和实参个数不匹配的问题
/函数形参和实参个数匹配问题
function getSum(num1,num2){ /形参的默认值是undefined
console.log(num1+num2);
}
/如果实参的个数和形参的个数一致,则正常输出结果;
getSum(1,2);
/如果实参的个数大于形参的个数,实参只会取到形参的个数;
getSum(1,2,3)
/如果如果实参的个数小于形参的个数,多余的形参定义为undefined,最终结果为NaN
getSum(1);
4.函数的返回值
4.1 return语句
function getesult(num1,num2){
return num1+num2; /我们函数只是实现某种功能
/最终的结果需要返回给函数的调用者“函数名”,通过return实现
}
console.log(getesult(1,2)); /只要函数遇到return,就把后面的结果返回给函数的调用者
/函数名() = return后面的结果
4.1.1 函数返回值的案例练习
4.2 return终止函数
return后面的代码不会被执行
4.3 return的返回值
return num1,num2 只能返回一个值。如果用逗号隔开多个值,以最后一个为准
以下为正确例子:
function getResult(num1,num2){
return [num1+num2,num1-num2,num1 *num2,num1/num2];
}
var re = getResult(1,2)
console.log(re)
4.4 函数没有return返回undefined
函数如果有return,则返回的是return后面的值,如果没有return则返回undefined
4.5 break,continue ,return 的区别
- break:结束当前的循环体(如for、while)
- continue:跳出本次循环,继续执行下次循环(如for、while)
- return:不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码
5.arguments的使用
6.函数案例
7.函数的两种声明方式
7.1 函数声明
function fn() {
}
fn()
7.2 函数表达式(匿名函数)
var 变量名 = function (){};
---------------------------
var fun = function (aru){
console.log('我是函数表达式');
console.log(aru)
}
fun('孙悟空');
/fun 是变量名不是函数名
/函数表达式声明方式跟声明变量差不多,只不过变量里面存的是值,而函数表达式里面存的是函数
/函数表达式也可以传递参数