首頁  >  文章  >  web前端  >  JavaScript中使用arguments取得函數傳參個數實例_javascript技巧

JavaScript中使用arguments取得函數傳參個數實例_javascript技巧

WBOY
WBOY原創
2016-05-16 16:38:301141瀏覽

JavaScript中使用arguments取得函數傳參個數實例_javascript技巧與PHP在函數傳參方面有點不同,PHP形參與實參個數要匹配,而JavaScript中使用arguments取得函數傳參個數實例_javascript技巧就靈活多了,可以隨意傳參,實參比形參少或多都不會報錯。

實參比形參多不會報錯

function say(a){
   alert(a); 
}
 
say('JavaScript中使用arguments取得函數傳參個數實例_javascript技巧','WEB技术博客');

執行結果

JavaScript中使用arguments取得函數傳參個數實例_javascript技巧

我們再來看看形參比實參多的結果

function say(a,b){
   alert('a 的值是 '+a+'\nb 的值是 '+b); 
}
 
say('JavaScript中使用arguments取得函數傳參個數實例_javascript技巧');

執行結果

JavaScript中使用arguments取得函數傳參個數實例_javascript技巧

a 對應第一個實參“瓊台博客”,b 沒有對應的實參所以值為undefined

arguments物件

其實有時候我們在程式設計比較複雜的時候並不指定參數個數,都是靈活運用。在函數裡有一個陣列arguments是專門儲存實參數組的,透過arguments我們就可以知道實參個數以及值。

function arg(){
    var str = '总共传了'+arguments.length+'个参数
';
    for(var i=0;i<arguments.length;i++){    
        str += '第'+(i+1)+'个参数值:'+arguments[i]+'\n'; 
    }
    alert(str);
}
arg('JavaScript中使用arguments取得函數傳參個數實例_javascript技巧','PHP博客','WEB技术博客');

執行結果

JavaScript中使用arguments取得函數傳參個數實例_javascript技巧

在上述例子中,我們定義函數arg並沒有給它指定形參,而是使用arguments物件接收實參,非常靈活。

例如我們可以利用它來計算出一組數字裡最小的數字,不管這組數字有多少個。如以下程式碼:

function arg(){
    var tmp = 0, str = '在 ';
    for(var i=0;i<arguments.length;i++){    
        for(var g=0;g<arguments.length;g++){
            if(arguments[g]<arguments[i]){
               tmp = arguments[g]; 
            } 
        }
       str += arguments[i]+',';
    }
    alert(str.substr(0,str.length-1)+' 里最小的值是 '+tmp);
}
arg(200,100,59,3500);

執行 200,100,59,3500  四個數對比結果

JavaScript中使用arguments取得函數傳參個數實例_javascript技巧中arguments对象

我們在加入兩個數,分別是 5 和 60

function arg(){
    var tmp = 0, str = '在 ';
    for(var i=0;i<arguments.length;i++){    
        for(var g=0;g<arguments.length;g++){
            if(arguments[g]<arguments[i]){
               tmp = arguments[g]; 
            } 
        }
       str += arguments[i]+',';
    }
    alert(str.substr(0,str.length-1)+' 里最小的值是 '+tmp);
}
arg(200,100,59,3500,5,60);

執行 200,100,59,3500,5,60 六個數字對比結果

JavaScript中使用arguments取得函數傳參個數實例_javascript技巧中arguments对象

根據兩次運算結果,我們發現無論我們傳進多少個數字,都能正確比對結果。 arguments一般用在實參個數不定的地方,例如上邊的例子,你可以傳5個數進去比較,也可以傳100個數進去比較都可以。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn