JavaScript 函數(shù) length
■知識點
使用arguments對象的length屬性可以獲取函數(shù)的實參個數(shù)。arguments對象只能在函數(shù)體內(nèi)可見,因此arguments.length也只能在函數(shù)體內(nèi)使用。
使用函數(shù)對象的length屬性可以獲取函數(shù)的形參個數(shù),該屬性為只讀屬性。在函數(shù)體內(nèi)、體外都可以使用。
■實例設(shè)計
下面的示例設(shè)計一個checkArgO函數(shù),用來檢測一個函數(shù)的形參和實參是否一致,如果不一致則拋出異常。
function checkArg ( a ) { //檢測函數(shù)實參與形參是否一致
if ( a.length != a. callee. length ) //如果實參與形參個數(shù)不同,則拋出錯誤
throw new Error ("實參和形參不一致");
}
function f ( a, b) { //求兩個數(shù)的平均值
checkArg ( arguments ); //根據(jù)arguments來檢測函數(shù)實參和形參是否一致
return ( (a*l ? a: 0) + (b*l ? b: 0) ) / 2; //返回平均值
}
console.log ( f(6) ); //拋出異常。調(diào)用函數(shù)f,傳入1個參數(shù)
點擊加載更多評論>>