Java Script 函数
(一)函数的概念
函数:就是封装了一段可被重复调用的代码块。通过此代码块可以实现大量代码的重复使用。
(二)函数的使用
函数在使用时分为两步:声明函数和调用函数。
1、声明函数
function 函数名()
{
//函数体
}
eg:function sayhi(){
console.log('hi~~');
}
//1、function声明函数的关键字,全部小写
//2、函数是做某件事情,函数名一般是动词,say hi
//3、函数不调用自己不执行
2、调用函数
//函数名();
eg:sayhi()
利用函数计算1-100之间的累加和
function getSum(){
var sum=0;
for(var i=1;i<=100;i++){
sun += i;
}
console.log(sum);
}
getSum();
(三) 函数的参数
1、正确使用
function 函数名(形参1,形参2...){//在声明函数的小括号里面是 形参 (形式上的参数)
}
函数名(实参1,实参2...);//在函数调用的小括号里面是实参(实际的参数)
2、形参和实参的执行过程
function cook(aru){//形参是接受实参的 aru ='酸辣土豆丝'形参类似于一个变量
console.log(aru);
}
cook('酸辣土豆丝');
cook('大肘子');
//函数的参数可以有,可没有,个数不限
3、利用函数求任意两个数之间的累加和
function getSums(start,end){
var sum=0;
for(var i=start; i <= end;i++){
sum += i;
}
console.log(sum);
}
getSums(1,100);
//注意点:1、多个参数之间用逗号隔开
// 2、形参可以看做是不用声明的变量
4、函数形参和实参不匹配的问题
//函数形参实参个数匹配
function getSun(num1,num2){
console.log(num1+num2);
}
//1.如果实参的个数和形参的个数一致,则正常输出结果
getSum(1,2);//3
//2.如果实参个数多于形参的个数,会取到形参个数
getSum(1,2,3);//3
//3.如果实参个数小于实参个数
//形参可以看做是不用声明的变量 num2是一个变量但是没有接受值 结果就是undefined
getSun(1);//NaN
(四) 函数的返回值
1、函数的返回值格式
function 函数名(){
return 需要返回的结果;
}
函数名();
(1):我们函数只是实现某种功能,最终结果需要返回给函数的调用者函数名(), 通过return实现的
(2):只要函数遇到reutrn,就把后面的结果返回给函数的调用者,函数名()=return后面的结果
2、代码验证
function getResult(){
return 666;
}
getResult();//getResult() =666,这是一个赋值的过程
console.log(gerResult(n));
利用函数 求两个数的最大值
function getMax(num1,num2){
if(num1>num2){
return num1;
}else{
return num2;
}
}
console.log(getMax(1,3));
console.log(getMax(11,3));
改进
return num1>num2 ? num1 : num2;
案例:求数组中的最大值
//利用函数求数组[5,2,99,101,67,77]中的最大数值
function getArrMax(arr){//arr 接受一个数组
var max=arr[0];
for(var i=1;i<=arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
return max;
}
//getArrMax([5,2,99,101,67,77]);//实参是一个数组送过去
//在我们的实际开发中,我们经常用一个变量来接受函数返回结果,使用更简单
var re=getArrMax([5,2,99,101,67,77]);
console.log(re);
3、函数返回值注意事项
(1)return终止函数
function getSum(num1,num2){
return num1+num2;//return后面的代码不会执行
alert('我是不会被执行的哦!');
}
console.log(getSum(1,2));
(2)return只能返回一个值
function fn(num1,num2){
return num1,num2;//返回的结果是最后一个值
}
console.log(fn(1,2));
(3)函数如果没有return ,返回undefined