第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

猜你喜欢

转载自www.cnblogs.com/shapaozi/p/10188666.html