JavaScript基础语法——函数

函数

          函数就是封装了一段可以被重复执行调用的代码块,目的:就是让大量代码重复使用。

函数的使用

          函数在使用时分为两步:声明函数和调用函数。

         1.声明函数

function  函数名(){

      //函数体

}

注意:①function声明函数的关键字,全部小写

           ②函数是做某件事情,函数名一般是动词

           ③函数不调用自己不执行

          2.调用函数

                函数名();

注意:调用的时候不要忘记添加小括号

函数的封装

          函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口。

 

    案例1.利用函数计算1-100之间的累加和    (这个代码就已经用到了实参和形参)

 function getSum(){
     var sum = 0;
    for(var i = 1 ;i <= 100; i++){
        sum+=i;
   }
    console.log(sum);
 }
 getSum();

函数的参数

      形参:在声明函数的小括号里面(形式上的参数)

      实参:在函数调用的小括号里面(实际的参数)

注意 :形参可以看作是不用声明的变量。

案例2:利用函数求任意两个数的和

   function getSum(num1,num2){
        var sum = 0 ;
        sum = num1 +num2;
        console.log(sum);
    }
    getSum(4,5);
    getSum(20,50);

案例3:利用函数求任意两个数之间的和

   function getSum(num1,num2){
       sum = 0;
       for(var i = num1 ; i <= num2 ; i++){
           sum+=i;
       }
       console.log(sum);
   }
   getSum(2,5);
   getSum(1,100);

实参和形参参的个数匹配:

形参 2个;实参1个 则第二个值就是undefined;实参2个 正常输出;实参3个,只取前两个。

函数的返回值

return语句:实现函数将值返回给调用者

函数返回值格式:

function 函数名(){

    return  需要返回的结果;

}

函数名();

1.函数只是实现某种功能,最终的结果需要返回给函数的调用者 函数名() 通过return实现的.

2.只要函数遇到return 就把后面的结果返回给函数的调用者 函数名() = return 后面的结果

案例4:利用函数求任意两个数之间的和 (return)

   function getSum(num1,num2){
       sum = 0;
       for(var i = num1 ; i <= num2 ; i++){
           sum+=i;
       }
      return sum;
   }
console.log( getSum(2,5));
console.log( getSum(1,100));

案例5:利用函数求任意两个数的最大值

function getMax(num1,num2){
    if(num1>num2)
        return num1;
    else
        return num2;
//return num1 > num2 ? num1 : num2; 三元运算符
}
console.log(getMax(88,5));

案例6:利用函数求任意一个数组中的最大值

function getMax(arr){
    var max = arr[0] ;
    for(var i = 1 ; i <= arr.length;i++ ){
        if(arr[i]>max){
            max = arr[i]
        }
    }
    return max;
}
console.log(getMax([5,2,99,101,67,77]));
//var re = getMax([5,2,99,101,67,77]);
//console.log(re);

①    return 终止函数          即return语句之后的代码不被执行

②     return 返回值             即return只能返回一个值.如果用逗号隔开多个值,以最后一个为准.

③     函数没有return 返回 undefined 

break,continue,return的区别

break结束当前的循环(如for,while)
continue跳出本次循环,继续执行下次循环(如for,while)
return不仅可以退出循环,还能返回return语句中的值,同时还可以结束当前的函数体内的代码

arguments的使用

             当我们不确定有多少个参数传递的时候,可以用arguments来获取.arguments存储了传递的所有实参.

arguments展示形式是一个伪数组,因此可以遍历,伪数组具有一下特点:

              1.具有length属性

              2.按索引方式储存数据

              3.不具有数组的piush,pop等方法.

案例7:利用函数求任意个数的最大值

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,5,8));
console.log(getMax(5,2,99,101,67,77));

案例8:利用函数封装方式,旋转任意一个数组

function getTurn(){
    var arr = [];
    for(var i = arguments.length -1 ; i>= 0 ; i--){
            arr[arr.length] = arguments[i];
    }
    return arr;
}
console.log(getTurn(1,5,8));

案例9:利用函数封装,对数组排序

function getNew(arr){
    var m;
    for( var i = 0 ; i < arr.length -1; i++){
        for(var j = 0; j< arr.length-i-1 ; j++){
            if(arr[j]>arr[j+1]){
                    m = arr[j];
                   arr[j] = arr[j+1];
                   arr[j+1] = m ;
            }
        }
    }
    return arr;
}
console.log(getNew([5,3,8,0,1]));

案例10:输入一个年份,判断是否是闰年  (能被4整除并且不能被100整除,或者能被400整除)

function runYear(year){
    if(year % 4 == 0 && year %100 !=0 || year % 400 == 0)
        return (year +'是闰年');
    else
        return (year +'不是闰年');
}
console.log(runYear(2008));

案例11 :用户输入年份,输出当前年份2月份的天数(函数调用函数)

function shuRu(){
    var year = prompt('请输入年份:');
    if(runYear(year))
        alert('今年是闰年,2月份29天');
    else
        alert('今年不是闰年,2月份28天');
}
shuRu();
function runYear(year){
    var flag = false;
    if(year % 4 == 0 && year %100 !=0 || year % 400 == 0)
        flag = true;
    return flag;
 }

函数的声明方式2:函数表达式

var 变量名 = function(){

    //函数体

}

1.fun 是变量名 不是函数名

2.函数表达式声明方式跟声明变量差不多.变量存的是值,函数表达式存的是函数

3.函数表达式也可以进行传递参数.

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值