-------------------------------------
一、参数(最多25个)
可以动态的改变函数体内对应的变量的类型或值,使同一函数体得到不同的结果。
形参:在定义函数的时候,函数括号中定义的变量叫做形参。
实参:调用函数的时候,在括号中传入的变量或值叫做实参。
1.参数的类型
可以是任何的数据类型
2.参数的个数(最多是25)
A.实参和形参数量相等,一一对应。
B.形参的数量多于实参
************************************************
不会报错,但是多出的参数他的值,会自动赋值为undefined
************************************************
形参的数量多于实参
function fun1 (a, b) { alert(a); alert(b); } fun1(1)
测试结果:
C.实参的数量多于形参
************************************************
不会报错,但是要得到多出的实参的值,要用arguments对象
************************************************
实参多于形参
function fun (a,b) { for (var i=0; i<arguments.length; i++) { alert(arguments[i]) } } fun(1,2,3)//注意里面的参数"3"
测试结果
-------------------------------------
二、Arguments对象
每创建一个函数,该函数就会隐式创建一个arguments对象,他包含有实际传入参数的信息。
1.length 检测实际传入参数的个数
function aa (a,b) { if(arguments.length==1){ alert("参数只有一个:"+a); } if(arguments.length==2){ alert("参数有两个分别是:"+a+","+b); } if(arguments.length>2){ alert("参数太多了"); } }
2.callee 对本身的调用
访问传入参数的具体的值。([下标])//参考上面实参大于形参代码及测试结果
-------------------------------------
三、函数重载
同一个函数因为参数的类型或数量不同,可以对应多个函数的实现,每种实现对应一个函数体
-------------------------------------
四、return 语句
一、停止并且跳出当前的函数
1.在ruturn 语句后面的函数体内所有内容都不会输出。
2.在函数体内可以有多个return语句,但是只会执行一个。(判断语句)
二、给函数返回一个值 return [返回值];
1.返回值可以是任何的数据类型
2.只能返回一个返回值。
3.如果函数没有返回值,那么这个函数的值就会自动的赋值为undefined