- 可以利用函数的参数实现函数重复不同代码,比如函数内部某些值不能确定,就可以通过参数在调用函数时传递不同的值进去(形参可以被看作是不用声明的变量,系统隐式声明了)
function fn(a,b,c){//这里的a,b,c就是形参,形参可以传很多个,用逗号隔开
console.log(a,b,c)//形参在函数体中就相当于变量,存的值就是实参,实参变化,存的值也跟着变化
}
fn(1,4,7)//这里的1,4,7就是实参也可以有很多个
fn(3,6,9)
- 函数形参与实参匹配问题
- 如果两者个数相同,就依次对应,正常输出结果
- 如果实参个数多于形参个数,则会取到形参个数就停止
- 如果实参个数小于形参个数,多于的形参定义为undefined
function fn(a,b,c){
console.log(a,b,c)
}
fn(1,4,7)//形参与实参个数相同
fn(3,6,9,8)//实参个数多于形参
fn(2,3)//实参个数小于实参
- arguments的使用:存储所有传递过来的实参(伪数组形式)只有函数才有arguments对象
function fn(a,b,c){
console.log(fn.arguments)//打印传递进来的所有实参
}
fn(1,4,7,9,20)