JS基础学习Day3——函数

目录

1.函数基础

1.1 什么是函数?

1.2 函数的结构

1.3 形参和实参

1.4 arguments

1.5 return

2.实例:

2.1 利用函数求两组数各自的最大值

 2.2 实现求某年二月份的天数

3.补充:形参实参个数不匹配情况说明


1.函数基础

1.1 什么是函数?

函数为封装一段可重复执行程序的代码块。

1.2 函数的结构

function 函数名(形参){//函数名一般是自定义,最好用动词表示,不要用中文缩写

        函数体;

}

函数名(实参);//调用函数

或者:

var 函数名 = function(形参){//函数名一般是自定义,最好用动词表示,不要用中文缩写

        函数体;

}

函数名(实参);//调用函数

1.3 形参和实参

形参可以有很多个,它没有实际意义,一般泛指一类东西,实参则是某一类东西中具体的某一个。

在js中,形参和实参的数量可以不匹配(Java中会报错),若实参的数量比形参多,那么多出来的实参数据不会显示,如果实参的数据比形参少,那么输出的结果中会在相应位置显示undefined。

1.4 arguments

如果在写函数时并不能确定形参的数量,可以用arguments代替,它可以存储所有不确定的实参,在所有的函数中都默认存在。

1.5 return

return是函数的返回值,它只能返回一个值或一组值,它后面可接语句也可接某个变量。出现return即代表终止函数的执行,函数中后续的代码将不会继续执行,因此它必须写在最末尾。

怎么理解上述基础内容呢?

用群发消息的实例来说,现在你需要发送一条消息给你的同学(消息内容相同),那你不可能一个一个去发,多浪费时间。那么只要先找到需要收消息的人,把他们集合到一起再发消息,是不是简单的多。

那么这个群发消息这个动作就是一个函数名,需要发消息的人就是形参,注意,这里指的一类人,不是某个,你发出去的消息就是函数体。至此,函数基本就构造好了,那么现在只要找到接受消息的具体的人就可以了,而这个人就是函数的实参。

接下来用几个实例检验检验学习成果。

2.实例:

2.1 利用函数求两组数各自的最大值

如果还想查找其他数组中的最大值,只需要将调用函数里的内容换掉就行了,比单独写两串差不多的代码好了不知道多少。

 2.2 实现求某年二月份的天数

上述实例源码:

 // 1 利用函数求两组数各自的最大值
    /*  var arr = [];
     function getMax(arr) {
       var max = arr[i];
       for (var i = 0; i < arr.length; i++) {
         if (arr[i] < arr[i + 1]) {
           max = arr[i + 1];
         }
       }
       return max;//一定不能少哦!!!
     }
     console.log(getMax([1, 6, 85, 64]));
     console.log(getMax([8, 6, 25, 64, 55])); */

    // 2 实现求某年二月份的天数
    /* var year;
    function getDay(year) {
      var day = 28;
      if (year % 400 == 0 || year % 100 != 0 && year % 4 == 0) {
        day = 29;
      }
      return alert('你查询的年份' + year + '二月份有' + day + "天。");
    }
    getDay(2000);
    getDay(2100); */
    var year;
    var getDay = function (year) {
      var day = 28;
      if (year % 400 == 0 || year % 100 != 0 && year % 4 == 0) {
        day = 29;
      }
      return alert('你查询的年份' + year + '二月份有' + day + "天。");
    }
    getDay(2000);
    getDay(2100);

3.补充:形参实参个数不匹配情况说明

为什么第二种情况的和只有2500啊?因为我们在写函数的时候没写第三个形参啊!所以就算你输入实参的时候多写了那也没用。它只是不报错,不代表它就有资格参与计算了。

为什么第三种情况的和是NaN(非数字型)啊?因为我们写了第三个形参,而它没有写第三个实参,所以自动匹配了undefined作为第三个实参,那数字+undefined的结果可不就是NaN嘛!

本视频中所有知识点参考自B站黑马程序员视频:

07-输出2月份天数_哔哩哔哩_bilibili

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值