JavaScript中使用arguments獲得函數(shù)傳參個數(shù)實例
JS與PHP在函數(shù)傳參方面有點不同,PHP形參與實參個數(shù)要匹配,而JS就靈活多了,可以隨意傳參,實參比形參少或多都不會報錯。
實參比形參多不會報錯
function say(a){ alert(a); } say('瓊臺博客','WEB技術博客');
執(zhí)行結果
我們再來看看形參比實參多的結果
function say(a,b){ alert('a 的值是 '+a+'\nb 的值是 '+b); } say('瓊臺博客');
執(zhí)行結果
a 對應第一個實參“瓊臺博客”,b 沒有對應的實參所以值為undefined
arguments對象
其實有時候我們在程序設計比較復雜的時候并不指定參數(shù)個數(shù),都是靈活運用。在函數(shù)里有一個數(shù)組arguments就是專門存儲實參數(shù)組的,通過arguments我們就可以知道實參個數(shù)以及值。
function arg(){ var str = '總共傳了'+arguments.length+'個參數(shù)\n'; for(var i=0;i<arguments.length;i++){ str += '第'+(i+1)+'個參數(shù)值:'+arguments[i]+'\n'; } alert(str); } arg('瓊臺博客','PHP博客','WEB技術博客');
執(zhí)行結果
在以上例子中,我們定義函數(shù)arg并沒有給它指定形參,而是使用arguments對象接收實參,非常靈活。
比如我們可以利用它來計算出一組數(shù)字里最小的數(shù)字,不管這組數(shù)字有多少個。如以下代碼:
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);
執(zhí)行 200,100,59,3500 四個數(shù)對比結果
我們在加入兩個數(shù),分別是 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);
執(zhí)行 200,100,59,3500,5,60 六個數(shù)對比結果
根據(jù)兩次運算結果,我們發(fā)現(xiàn)無論我們傳進多少個數(shù)字,都能正確比對結果。arguments一般用在實參個數(shù)不定的地方,比如上邊的例子,你可以傳5個數(shù)進去比較,也可以傳100個數(shù)進去比較都可以。
- js的隱含參數(shù)(arguments,callee,caller)使用方法
- javascript內置對象arguments詳解
- javascript arguments 傳遞給函數(shù)的隱含參數(shù)
- javascript 利用arguments實現(xiàn)可變長參數(shù)
- JS函數(shù)動態(tài)傳遞參數(shù)的方法分析【基于arguments對象】
- javascript arguments使用示例
- Javascript中arguments對象的詳解與使用方法
- JS中call/apply、arguments、undefined/null方法詳解
- 深入理解JS函數(shù)的參數(shù)(arguments)的使用
- JavaScript中arguments的使用方法詳解
相關文章
Bootstrap3 input輸入框插入glyphicon圖標的方法
這篇文章主要介紹了Bootstrap3 input輸入框插入glyphicon圖標的方法的相關資料,需要的朋友可以參考下2016-05-05基于javascript實現(xiàn)判斷移動終端瀏覽器版本信息
這篇文章主要介紹了基于javascript實現(xiàn)判斷移動終端瀏覽器版本信息,需要的朋友可以參考下2014-12-12