实参:fn(a,b)==>这里的a,b代表实参
1.实际传入函数的参数(实参)的个数可以比形参的个数多,按照顺序赋值,不会影响程序的执行逻辑,但是会影响性能。
2.实参个数可以比形参个数少,可能会影响程序的执行逻辑==>可以解决:实设计函数时提前预设
注意:函数内部有一个关键字arguments,代表实际传入函数的参数列表(类数组),argument.length代表着实参的个数
<script type="text/javascript">
function fn(a,b){
var c=a+b;
console.log(c)
}
fn(1,2,3,4)//上面的c!=7,但是不代表a=3和b=4没有传进去,只是3和4被保存在了函数内部的arguments关键字中
</script>
<script type="text/javascript">
function fn(a,b){
//隐式声明:
//var a,b
console.log(a,b)
}
fn(1)
</script>
形参:function fn(a,b){}==>这里的a,b代表形参
注意:fn.length代表着函数形参的个数
函数的name属性:
1.fn
<script type="text/javascript">
function fn(){
}
console.log(fn.name)
</script>
2.a
<script type="text/javascript">
var a=function (){
}
console.log(a.name)
</script>
3.fn
var a=function fn(){
}
console.log(a.name)
4.fn
<script type="text/javascript">
function fn(){
}
var a=fn
console.log(a.name)
</script>