JavaScript 之 函數

學習目標:數組

爲何須要函數函數

根據語法書寫函數學習

根據需求封裝函數spa

形參和實參的傳遞過程code

使用函數的返回值對象

使用arguments獲取函數的參數blog

1.函數的實參和形參ip

   <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.函數的返回值get

2.1 return  語句io

 

    <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() {};

   和變量命名很類似   

相關文章
相關標籤/搜索