1、显式参数(形参)
函数显式参数在函数定义时列出(即形参)。
函数调用未传参时,参数会默认设置为: undefined。
<script>
function fn(a,b,c){//a,b,c为形参
//此时有一个隐式操作:var a,var b ,var c
}
</script>
2、隐式参数(实参)
函数内部有一个关键字 arguments,代表实际传入函数的参数列表。(实参数组)
<script>
function fn(a,b){
console.log(arguments.length) //打印为2
}
fn(1,2)
</script>
3、形参与实参不匹配时
实际传入函数的参数(实参) 的个数可以比形参的个数多,按照顺序赋值,不会影响程序的执行逻辑但是会影响性能。
实际传入函数的参数(实参) 的个数可以比形参的个数少,按照顺序赋值可能会影响程序的执行逻辑==>解决方案就是设计函数时提前预设
<script>
function fn(a,b,c){
if(a==undefined){a=0}
if(b==undefined){b={}}
if(c==undefined){b=[]}
}
</script>
4、补充
函数的length属性代表的是形参的个数
<script>
function fn(a,b,c){
}
console.log(fn.length)//3
</script>
函数的name属性代表的是函数的命名
<script>
function fn(a,b,c){
}
console.log(fn.name)//name
</script>