函数练习实例

发布于:2023-01-04 ⋅ 阅读:(305) ⋅ 点赞:(0)

一、函数封装

 1.求学生总分

        需求:学生的分数是一个数组,计算每个学生的总分

        分析:①: 封装一个求和函数

                   ②: 传递过去的参数是一个数组

                   ③: 函数内部遍历数组求和

    function getScore(arr){
        let sum = 0
        for (let i = 0; i < arr.length; i++){
            sum += arr[i]
        }
        document.write(sum)
    }
    getScore([99,10,100])

二、函数返回值

(一)返回一个值

1. 求任意数组中的最大值并返回这个最大值

    function getArrMaxValue(arr){
        let max = arr[0]
        for (let i = 0; i < arr.length; i++){
            if (max < arr[i]){
                max = arr[i]
            }
        }
        return max
    }
    let maxplus = getArrMaxValue([99,10,100])
    document.write(maxplus)

2. 求任意2个数中的最大值, 并返回

        ★ 方法一

    function getRandomMaxValue(x,y){
        let max = 0
        if (x > y){
            max = x
        }else {
            max = y
        }
        return max
    }
    let maxplus = getRandomMaxValue(10,20)
    document.write(maxplus)

         ★ 方法二

    let num1 = +prompt(`请输入第一个数:`)
    let num2 = +prompt(`请输入第二个数:`)

    function getMax(x,y){
        if (x > y){
            return x
        }else {
            return y
        }
    }
    let max = getMax(num1,num2)
    document.write(max)

         ★ 方法三 (三元表达式法)

    let num1 = +prompt(`请输入第一个数:`)
    let num2 = +prompt(`请输入第二个数:`)

    function getMax(x,y){
        return x > y ? x : y
    }
    let max = getMax(num1,num2)
    document.write(max)

(二)返回多个值 

1. 求一个数组的最大值和最小值 

    function getArrMaxAndMin(arr){
        let max = min = arr[0]
        for(let i = 0; i < arr.length; i++){
            if (max < arr[i]){
                max = arr[i]
            }
            if (min > arr[i]){
                min = arr[i]
            }
        }
        return [max,min]
    }
    let x = getArrMaxAndMin([1,5,8,2,0])
    document.write(`数组的最大值是${x[0]},数组的最小值是${x[1]}`)

三、综合案例

        需求: 用户输入秒数,可以自动转换为时分秒

        分析:

               ①: 用户输入总秒数

               ②: 计算时分秒(封装函数) 里面包含数字补0

               ③:打印输出

        计算公式:计算时分秒

                小时: h = parseInt(总秒数 / 60 / 60 % 24)

                分钟: m = parseInt(总秒数 / 60 % 60 )

                秒数:    s = parseInt(总秒数 % 60) 

        let second = +prompt(`请输入总的秒数:`)
        function getTimes(t){
            let h = parseInt(t / 60 / 60 % 24)
            let m = parseInt(t / 60 % 60 )
            let s = parseInt(t % 60)
            h = h < 10 ? '0' + h : h 
            m = m < 10 ? '0' + m : m
            s = s < 10 ? '0' + s : s
            return `计算之后的时间是${h}小时${m}分${s}秒`
        }
        let str = getTimes(second)
        document.write(str)


网站公告

今日签到

点亮在社区的每一天
去签到