- 函數(shù)聲明里的參數(shù)叫形參,函數(shù)調(diào)用里的參數(shù)叫實參。
- Javascript函數(shù)定義不指定形參的類型,函數(shù)調(diào)用也不對實參做任何類型檢查,甚至不檢查參數(shù)個數(shù)。
可選形參
當函數(shù)調(diào)用的實參比聲明的個數(shù)少的時候,后面剩下的形參傳入默認值undefined。
- 一般在函數(shù)體內(nèi)對可以省略的參數(shù)進行判斷,如果是undefined則賦一個合理的默認值。
- 可省略參數(shù)必須放在最后面
function say(name,words)
{
words = words||'Hello'
console.log(name + ' says:' + words)
}
say('Mike')
//Mike says:Hello
可變長的實參列表:實參對象
當調(diào)用函數(shù)的時候傳入的實參個數(shù)超過函數(shù)定義時的形參個數(shù)時,可以通過參數(shù)對象arguments引用,它是一個類數(shù)組對象,可以通過下標訪問參數(shù)。
- arguments不只包括未定義名稱的參數(shù),還包括有名稱的參數(shù)
- 函數(shù)可以不定義參數(shù),直接使用arguments獲取所有參數(shù),這種函數(shù)叫做不定義實參函數(shù)
function max()
{
var m = arguments[0]
for(var i=0;i<arguments.length;i++)
{
if(m<arguments[i])
{
m = arguments[i]
}
}
return m
}
max(3,5,9,2,11)
// 11
max('a','d','f','b')
// "f"