js函式,arguments物件

我要加油。Fighting發表於2018-07-24

作用:可以封裝任意多條語句,而且可以在任何地方,任何時候呼叫執行。

functionName是要定義的函式名,屬於識別符號。

函式的定義和呼叫:

//不帶引數
    function myFun(){
        alert("我是一個函式");
    }
    myFun();
//帶引數
    function add(num1,num2){
        var sum=num1+num2;
        alert(sum);
    }
    add(3,4);

函式的返回值:任何函式通過返回語句,後面跟著返回的值來實現返回值。

function add(num1,num2){
        var sum=num1+num2;
       return sum;
    }

    document.write(add(3,4))
    alert(add(3,6));
    var s=add(-1,-9);
function myFun(arg){
    if(isNaN(arg)){
        return;
    }
    return arg*2;
}
document.write(myFun(3));
function myFun(arg){
    if(isNaN(arg)){
        return;
    }
    return arg*2;
}
document.write(myFun("abc"));
//undefined

說明:

  1. 函式會在執行完返回語句之後停止並立即退出。
  2. 返回語句也可以不帶有任何返回值,用於提前停止函式執行有不需要返回值的情況。

arguments引數:

ECMAScript中的引數跟Java裡的不一樣,不在意引數個數和型別。原因是引數在函式的內部是由陣列來表示的,而我們利用arguments這個物件可以訪問到陣列。

說明:

  1. arguments物件只是與陣列類似,並不是Array的例項,不是真正意義上的陣列。
  2. []語法訪問它的每一個元素
  3. length屬性確定傳遞引數的個數。
function inner(num1,num2){
        document.write(num2);
    }
    inner(10);
    //undefined

 

 function inner(num1,num2){
        //arguments具有跟陣列一樣的訪問方法。
        document.write(arguments.length);//2
        document.write(arguments[0]);//10
        document.write(arguments[2]);//undefined
    }
    inner(10,5);

求任意一組數的平均值:

 function getAvg(){
        var sum=0;
        for(var i=0;i<arguments.length;i++){
            sum+=arguments[i];

        }
        return sum/arguments.length;
    }
    var avg=getAvg(1,2,3,4,5);

    document.write(avg);

 

相關文章