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