JavaScript-7-函数

含义

函数就是封装了一段可以被重复使用的代码段

声明/调用函数

  1. 利用函数关键字自定义函数(命名函数)
    function fn(){}–声明
    fn();–调用
  2. 函数表达式(匿名函数)
    var 变量名 = function(){};–声明
    变量名();–调用

arguments的使用

存储函数所有的实参
注:只有函数才有arguments对象,每个函数都内置好了arguments

伪数组

  1. 具有数组的length属性
  2. 按照索引的方式进行存储
  3. 没有真正数组的一些方法,pop() push()等

使用

function getSUm(num1, num2) {
            console.log(num1 + num2);
        }
        //函数形参实参个数匹配
        getSUm(1, 2);
        //实参个数多于形参个数,匹配完形参个数
        getSUm(1, 2, 3);
        //实参个数小于形参个数,形参是不用声明的变量,没有接收值,结果就是undefined
        getSUm(1);

        //利用函数求任意个数的最大值
        function getMax() {
            var max = arguments[0];
            for (var i = 0; i < arguments.length; i++) {
                if (arguments[i] > max) {
                    max = arguments[i];
                }
            }
            return max;
        }
        console.log(getMax(3, 1, 2, 5, 43, 5312, 5));
        console.log(getMax(3, 1, 23222, 54, 43, 5312, 5));
        console.log(getMax(3, 1, 2, 5222, 53343, 5312, 5));

函数封装

  1. 利用函数封装方式,翻转任意一个数组
  2. 利用函数封装方式,对数组进行冒泡排序
  3. 利用函数封装方式,判断是否为闰年
  4. 用户输入年份,输出当前年份2月份的天数
        //案例1:利用函数封装方式,翻转任意一个数组
        function reverse(arr) {
            if (arr instanceof Array) {
                var newArr = [];
                for (var i = arr.length - 1; i >= 0; i--) {
                    newArr[newArr.length] = arr[i];
                }
                return newArr;
            } else return false;


        }
        console.log(reverse([1, 2, 3, 4, 5, 6]));
        //案例2:利用函数封装方式,对数组进行冒泡排序
        function bubbleSort(arr) {
            var newArr = [];
            for (var i = 0; i < arr.length - 1; i++) {
                for (var j = 0; j < arr.length - i - 1; j++) {
                    var temp = arr[0];
                    if (arr[j] > arr[j + 1]) {
                        temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
            return arr;
        }
        console.log(bubbleSort([5, 4, 3, 2, 1]));
        //案例3:利用函数封装方式,判断是否为闰年
        function isLeapYear(year) {
            if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) return true;
            else return false;
        }
        console.log(isLeapYear(2009));
        console.log(isLeapYear(2008));
        //案例4:用户输入年份,输出当前年份2月份的天数
        function dayOfFebruary(year) {
            var flag = isLeapYear(year);
            if (flag == true) return 29;
            else return 28;
        }
        console.log(dayOfFebruary(2008));
        console.log(dayOfFebruary(2021));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值