function 函数

function:函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。

如果没有return语句,函数执行完毕后也会返回结果,只是结果为undefined

Rest 参数接受函数的多余参数,组成一个数组,放在形参的最后,形式如下:

function func(a, b, ...theArgs){ // ... }

Rest参数和arguments对象的区别:

  • rest参数只包括那些没有给出名称的参数,arguments包含所有参数
  • arguments 对象不是真正的数组,而rest 参数是数组实例,可以直接应用sort, map, forEach, pop等方法
  • arguments 对象拥有一些自己额外的功能

//实例1:遍历函数所有参数
function fn(){    
    if(arguments.length >= 1){
        for(var i = 0;i<arguments.length;i++){
            console.log(arguments[i])
        }
    } else {
        console.log(0);
    }
    
}
fn(10,2,3,5,2,4,5,2);

//rest参数
//实例2:每个参数乘以2
function fn1(a,b,...theArgs){
    //map() :方法按照原始数组元素顺序依次处理元素。
    //语法:array.map(function(currentValue,index,arr), thisValue)
        //currentValue     必须。当前元素的值
        //index     可选。当前元素的索引值
        //arr     可选。当前元素属于的数组对象
    return theArgs.map(function(nume){
        console.log(2*nume)
    });
}
fn1(4,5,2,3,5,4,2,4,2)
//实例3:计算圆面积的函数
//r:圆的半径
//pi:表示π的值,如果不传,默认为3.14

function fn2(r,pi){
    //Math.pow(x,y) // x的y次幂 x——底数,y——幂数   x,y必须为数字

    if(arguments.length < 2){
        var pi = 3.1416;
        console.log(r * Math.pow(pi,2));
    } else{
        console.log(r * Math.pow(pi,2));
    }
}
fn2(10)
//实例4:取参数最大值
function fn3(a,b,c){
    console.log(Math.max(a,b,c));
}
fn3(15, 20,35);



猜你喜欢

转载自www.cnblogs.com/zcpblog/p/10708275.html
今日推荐