zoukankan      html  css  js  c++  java
  • JavaScript 之 函数

    学习目标:

    为什么需要函数

    根据语法书写函数

    根据需求封装函数

    形参和实参的传递过程

    使用函数的返回值

    使用arguments获取函数的参数

    1.函数的实参和形参

       <script>
            //函数形参实参个数匹配
            function getSum(num1, num2){    //num1 num2 为形参
                console.log(num1+num2);
                
            }
            // 1.如果实参个数和形参个数一致则正常输出结果
            // 2.如果实参个数多于形参个数 会取到形参个数
            getSum(1,2,3);   //123 为实参
            // 3.如果实参个数小于形参的个数  多余的形参定义为undefined 最终结果就是NaN
            //形参可以看作不用声明的变量 num2是一个变量但是没有接收值 结果就是undefined
            getSum(1);//NaN
            //建议 我们尽量让实参个数和形参个数相匹配

    2.函数的返回值

    2.1 return  语句

        <script>
            //函数是做某件事或者实现某种功能
            function cook(aru){
                console.log(aru);       
            }
            cook('大肘子');
            //函数的返回值格式
    
          /*   function 函数名(){
                return 需要返回的结果;
            }
            函数名(); */
    
            //(1)我们函数只是实现某种功能,最终的结果需要返回函数的调用者 函数名()  通过return()来实现
            //(2)只要函数遇到return就把后面的结果 返回给函数的调用者    函数名() = return后面的结果
            //3.代码验证
            function getResult(){
                return 666;
            }
            getResult(); //getResult = 666;
            console.log(getResult());
            // 4.求任意两个数的和
            function getSum(sum1,sum2){
                return sum1+sum2;
            }
            console.log(getSum(1,2));
        </script>

    2.2函数返回值实例

    任意两个数的最大值

            function getMax(sum1,sum2){
               /*  if (sum1 > sum2)
                {
                    return sum1 ;
                }else{
                    return sum2 ;
                }    */
                return sum1 > sum2 ? sum1 : sum2;
            }
            console.log(getMax(2,3));

    任意一个数组中的最大值

       </script>
    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;
        }
        var re = getarrMax([5,2,99,101,67,77]);//实参是一个数组
        console.log(re);
        
        </script>

    2.3 return终止函数

    return之后的代码就不再执行了

      <script>
            //函数返回值注意事项
            //1.return终止函数
            function getSum(num1,num2){
                return num1+num2;//return 后面的代码不会被执行
                alert('我是不会被执行的偶')
            }
            console.log(getSum(1,2));
        </script>

    2.4 return 只能返回一个值。如果逗号隔开多个值,以最后一个为准

        <script>
            //
            function getSum1(num1,num2){
                return num1,num2;//return 返回的接轨是最后一个值
            }
            console.log(getSum1(1,2));
        </script>
     2.5.非要返回多个值,用数组
            //3.非要返回多个值,用数组
            function getResult(num1,num2){
                return [num1+num2 , num1 - num2 , num1 * num2 , num1 / num2];
            }
            console.log(getResult(1,2));

    2.6 函数没有return返回undefined

            function getResult(num1,num2){
               
            }
            console.log(getResult(1,2));//没有return返回undefined;

    3.break,continue,return的区别

    break 结束当前循环体(for while)

    continue 跳出本次循环,继续执行下次循环(for while )

    return 不仅可以退出循环 还能返回return语句中的值 同时还可以结束当前函数体内的代码

    4.arguments的使用

       当我们不确定有多少个参数传递的时候,可以用arguments来获取。在JavaScript中,arguments实际上他是当前函数的一个内置对象。所有函数都内置了一个aguments对象,arguments对象存储了了传递函数的所有实参。

        <script>
            // arguments的使用 只有函数才有,arguments对象 而且是每个函数都内置好了这个arguments
            function fn(){
                console.log(arguments);//里面存储了所有传递过来的实参 arguments = [1,2,3]
                console.log(arguments.length);
                console.log(arguments[2]);
                // 我们可以按照数组的方式遍历arguments
                for (var i=0 ; i < arguments.length ; i++){
                    console.log(arguments[i]);
                }           
            }
            fn(1,2,3);
        </script>

    arguments实例

            //利用arguments求数组中的最大值
            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(133,244,3));
        </script>

     5.函数的两种声明方式

      (1)利用函数关键字自定义函数(命名函数)

        function fn (){};

        fn;

       (2) 函数表达式(匿名函数)

       var 变量名 = function() {};

       和变量命名很相似   

  • 相关阅读:
    什么是 Linux
    Java常用几种加密算法
    Java多线程
    SpringSecurity相关配置【SpringSecurityConfig】
    应用上下文配置【AppConfig】
    web.xml
    Web上下文配置【MvcConfig】
    SpringMVC4零配置--Web上下文配置【MvcConfig】
    HTML <meta> 标签 遇到<meta http-equiv="refresh" content="0; url=">详解
    java如何获取当前机器ip和容器port
  • 原文地址:https://www.cnblogs.com/qiujie-prion/p/12983848.html
Copyright © 2011-2022 走看看