1. 程式人生 > >第3天:函式的定義、使用、案例

第3天:函式的定義、使用、案例

函式:把一些重複的程式碼封裝起來,在需要的時候直接呼叫這個函式 函式的作用:程式碼的重用 在函式中定義的時候,函式後面的小括號的變數就是,目的在呼叫的時候 使用者傳進來的值操作 形參:函式定義時在函式名後,宣告的引數
function consoleSum(x,y){//函式定義
        var sum=x+y;//計算和
        console.log(sum)//輸出和
    }
    //實參:函式呼叫時在函式名後,填寫的引數
    consoleSum(10,20)
function
getSum(x,y){ var x=10; var y=10; var sum=x+y return sum; } function getSum(x,y){ return x+y;//把和返回 } var result=getSum(10,30); console.log(result)
如果一個函式中沒有return,那麼這個函式就沒有返回值 如果一個函式中有return,那麼這個函式就有返回值 沒有返回值,但是在呼叫的時候接收了,那麼結果就是undefined(沒有return;return後沒有任何內容)
變數聲明瞭,沒有複製,結果也是undefined
function f1(x,y){
        var sum=x+y;
    }    
    var result=f1(10,20);
    console.log(result);

function例項

    //求1~n之間所有數字的和
    function getEevrySum(n){
        var sum=0;
        for(var i=1;i<=n;i++){
            sum
+=i; } return sum; } console.log(getEevrySum(100)) //求n~M之間所有數字的和 function getEevrySum1(n,m){ var sum=0; for(n;n<=m;n++){ sum+=n; } return sum; } console.log(getEevrySum1(1,100)) </script>
//求圓的面積
    function getY(r){
        return parseInt( Math.PI*r*r)
    }
    console.log(getY(5));
    //求兩個數的最大值
    function getMax(num1,num2){
        return num1>num2?num1:num2;
    }
    function getThreeMax(x,y,z){
        return x>y?(x>z?x:z):(y>z?y:z);
    }
    //求是否質數
    function isSuShu (num) {
        for(var i=2;i<num;i++){
            if(num%i==0){
                return false;
            }
        }
        return true;
    }
    // var result=isSuShu(24);
    // if(result){
    //     console.log("這個數是質數")
    // }else{
    //     console.log("這個數不是質數")
    // }
    //簡介的寫法
    console.log(isSuShu(7)?"是質數":"不是質數")
//求一組數字中的最大值
    function getArrayMax(array){
        var max=array[0];
        for(var i=0;i<array.length;i++){
            if(max<array[i]){
                max=array[i];
            }
        }
        return max;
    }
    var myArray=[10,20,30,40,50];
    console.log(getArrayMax(myArray))
//console.log(getArrayMax([10,20,30,40,50]))
 
//求一組數字中的最小值
    function getArrayMin(array){
        var min=array[0];
        for(var i=0;i<array.length;i++){
            if(min>array[i]){
                min=array[i];
            }
        }
        return min;
    }
    console.log(getArrayMin([10,20,30]));//10
    //求一組陣列中的和
    function getArraySum(array){
        var sum=0;
        for(var i=0;i<array.length;i++){
            sum+=array[i]
        }
        return sum;
    }
    console.log(getArraySum([10,20,30]))//60
 /*
    求一組數字中的最大值、最小值、和
    *array傳入的陣列
    *arr返回是一個數組
    *第一個是最大值,第二個是最小值,第三個是和
    */
    function getArrayMaxAndMinAndSum(array){
        var min=[0];
        var max=[0];
        var sum=0;
        for(var i=0;i<array.length;i++){
            sum+=array[i];
            if(max<array[i]){
                max=array[i];
            }
            if(min>array[i]){
                min=array[i]
            }
        }
        var arr=[max,min,sum]
        return arr;
    }
    var result=getArrayMaxAndMinAndSum([1,2,3,4,5,6,7,8,9]);
    console.log("最大值:"+result[0]);
    console.log("最小值:"+result[1]);
    console.log("和:"+result[2]);
 //陣列返祖
    function reveseArray(array){
        //陣列反轉次數是它長度的一半
        for(var i=0;i<array.length/2;i++){
            var tem=array[i];
            array[i]=array[array.length-1-i];
            array[array.length-1-i]=tem;
        }
        return array;
    }
    console.log(reveseArray([1,2,3,4,56,]))//56,4,3,2,1