14-什么是函数

    <script>
        // 1. 求 10~100的累加和
        var sum = 0;
        for (var i = 10; i <= 100; i++) {
            sum += i;
        }
        console.log('10-100的累加和是:'+sum);
        // 2. 求 10~50的累加和
        var sum = 0;
        for (var i = 10; i <= 50; i++) {
            sum += i;
        }
        console.log('10-50的累加和是:' + sum);
        // 3. 函数
        function getSum(num1,num2) {
            var sum = 0;
            for (var i = num1; i <= num2; i++) {
                sum += i;
            }
            console.log(num1+'-'+num2+'的累加和是:'+sum);
        }
        getSum(65,572);
    </script>

 

15-函数的使用

    <script>
        // 函数使用分为两步:声明函数 和 调用函数
        // 1. 声明函数
        // function 函数名() {
        //     // 函数体
        // }
        function sayHi(){
            console.log('Hi~~~~~');
        }
        // (1) function 声明函数的关键字 全部小写
        // (2) 函数是做某件事情,所以函数名一般是动词
        // (3) 函数不调用,自己不会执行
        // 2. 调用函数
        // 函数名();
        sayHi();
    </script>

 

 

16-利用函数封装求1-100的和

    <script>
        // 利用函数计算1-100之间的累加和
        // 1. 声明函数
        function getSum(num1,num2) {
            var sum = 0;
            for (var i = num1 ; i <= num2; i++) {
                sum += i;
            }
            console.log(num1+'-'+num2+'的和是:'+sum);
        }
        // 2. 调用函数
        // getSum(1,100);
        getSum(num1 = Number(prompt('please input the original number.')), num2 = Number(prompt('please input the the last.')))
   </script>

 

17-帯参数的函数

    <script>
        // 1. 函数可以重复相同的代码
        function cook() {
            console.log('我想吃皮蛋拌豆腐');
        }
        cook();
        cook();

        // 2. 我们可以利用函数的参数实现函数重复不同的代码
        // function 函数名(形参1;形参2...){ // 在声明函数的小括号里面是形参,形式上的参数
        // }
        // 函数名(实参1;实参2...); // 在函数调用的小括号里面是实参(实际参数)

        // 3. 形参和实参的执行过程
        function cook(aru) { // 形参是接收实参的:aru='酸辣土豆丝',形参类似于一个变量
            console.log(aru);
        } 
        cook('酸辣土豆丝');  // 
        cook('我想吃山楂冰淇淋');
   </script>

 

18-利用函数求任意两个数的和

    <script>
        // 1. 利用函数求任意两个数的和
        function getSum(num1,num2) {
            var sum = 0;
            sum = num1 + num2;
            console.log(num1+''+num2+'的和是:'+sum);
        }
        getSum(1,3);
        // getSum(num1=prompt(Number('please input a number:'),num2=prompt(Number('please input the second number: '))));
        // 2. 利用函数求任意两个数之间的和
        function getSum1(n1,n2) {
            var sum = 0;
            for (var i = n1; i <= n2; i++) {
                sum += i;
            }
            console.log(sum);
        }
        getSum1(1,10)
        // 3. 注意点
        // (1)多个参数之间用逗号隔开
        // (2)形参可以看做是不用声明的变量
   </script>

 

19-函数形参、实参个数匹配

    <script>
        // 函数形参实参个数匹配
        function getSum(num1,num2) {
            console.log(num1 + num2);
        }
        // 1. 形参和实参的个数一致,正常输出结果
        getSum(1,2);
        // 2. 如果实参的个数多余形参的个数, 会取到形参的个数
        getSum(1,2,3);
        // 3. 如果实参的个数小于形参的个数,会
        getSum(1);
   </script>

20-函数的返回值

    <script>
        // 函数是做某件事或者实现某种功能
        // function cook(aru) {
        //     console.log(aru);
        // }
        // cook('大肘子');
        // 2. 函数的返回值格式
        // function 函数名() {|
        //     return 需要返回的结果;
        // }
        // 函数名();
        // (1) 我们函数只是实现某种功能,最终的结果 需要返回给函数的调用者——函数名(),这是通过return 实现的
        // (2) 只要函数遇到return就把后面的结果 返回给函数的调用者 函数名() =return 后面的结果
        // 3. 代码验证
        // function getResult() {
        //     return 666;
        // }
        // getResult(); // 这一步不含打印步骤,无法得到值
        // console.log(getResult()); // 打印函数

        // function cook(aru) {
        //     return aru;
        // }
        // console.log(cook('芒果冰淇淋'));
        // 4. 求任意两个数的和
        function getSum(num1, num2) {
            return num1 + num2;
        }
        console.log(getSum(5,457));
   </script>

 

21-求两个数的最大值(函数版)

    <script>
        // 利用函数 求两个数的最大值
        function getMax(n1,n2) {
            // if (n2 > n1) {
            //     return n2;
            // }else{
            //     return n1;
            // }
            return n1 > n2 ? n1: n2; // 三元运算符
        }
        console.log(getMax(534,56));
        console.log(getMax(534,4468));
        console.log(getMax(534, 55486));
   </script>

 

22-求数组中的最大值(函数版)

    <script>
        // 求数组[5,2,99,101,67,77] 中的最大数值
        function getArrMax(arr) { // arr 接受一个数组
            var max = arr[0];
            for (var i = 0; i < arr.length; i++) {
                if (arr[i] > max) {
                    max = arr[i];
                }
            }
            return max;
        }
        // getArrMax([5,2,99,101,67,77]) // 实参是一个数组送过去
        // 在实际开发里面,我们经常用过一个变量来接收 函数的返回结果,然使用更简单
        // var re = getArrMax([13,54,65,4,6582,4,8,2,3,5]);
        var re = getArrMax([13,46,4,564,65,43,218,64, 5]);
        console.log(re);
        // 2. return 只能返回一个值
        function fn(num1, num2){
            return num1,num2;
        }
        console.log(fn(1,2));
   </script>

 

23-函数返回值注意事项

    <script>
        // 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. 我们求任意两个数的 加减乘除结果
        function getResult(num1,num2) {
            return [num1+num2,num1-num2,num1*num2,num1/num2];
        }
        var re = getResult(1,2) // 返回的是一个数组,可以用for遍历取出
        console.log(re);

        // 4. 我们的函数如果有return,则返回的是return后面的值;如果没有,就返回undefined
        function fun1() {
            return 666;
        }
        console.log(fun1()); // 666
        function fun2() {

        }
        console.log(fun2());
   </script>

 

大作业

    <script>
        // ④写一个函数,用户输入任意两个数字的任意算术运算(简单的计算器小功能),并单出运算后的结果
        function cal2n(n1,n2) {
            return [n1+n2,n1-n2,n1*n2,n1/n2];
        }
        var re = cal2n(5574,80);
        console.log(re);
        for (var i = 0; i < re.length; i++) { // 单独输出
            console.log(re[i]);
        }
        
        // ②写一个函数,用户输入任意两个数字的最大值,并能出弹运算后的结果
        function getMax(n1,n2) {
            if(n1 > n2) {
                return n1;
            }else {
                return n2;
            }
        }
        re = getMax(5654,56464);
        console.log(re);

        // 写一个函数,用户输入任意三个不同数字的最大值,井单出运算后的结果
        function getMax3(arr) {
            var max = arr[0];
            var endNum = 3; // 这是决定能比较多少个不同个数字的值
            for (var i = 1; i < endNum; i++) {
                if (arr[i] > max) {
                    max = arr[i];
                }
            }
            return max;
        }
        var re = getMax3([50, 4553, 455]);
        console.log(re);

        // ④写一个函数,用户输入一个数判断是否是素数,并返弹出回值(又叫质数,只能被1和自身整数的数)
        function getPrime(num) {
            for (var i = 2; i < num-1; i++) {
                if (num % i == 0) {
                    return num+'不是素数,因数有'+i;
                }
            }
            return num+'是素数';
        }
            var re = getPrime(743);
            console.log(re);
    </script>