实例一分析
<html>
<body>
<button onClick="test2(1,3);">打印结果</button>
<script>
function test2(a, b, c){
alert("a=" + a + ", b=" + b + ", c=" + c);
}
</script>
</body>
</html>
打印结果:
a=1,b=3,c=undefined
分析结果:
function test2(a, b, c)有三个参数,调用时只有两个参数,第三个参数为undefined,判断是否有第三个参数调用typeof方法:
if (typeof(c)=="undefined"){
alert("OK");
}
参数是按顺序读取,传入两个参数则 a=,b=
不可以这么调用 test2(1,,3);会报错
<!DOCTYPE html>
<html>
<body>
<button onClick="test2(1,2,3);">打印结果</button>
<script>
function test2(a, b, c){
alert("paramLen=" + arguments.length );
}
</script>
</body>
</html>
arguments.length 是指调用test2传入的参数 ,此时为3,若调用test2(1,2),则此时输出为2
2015年4月30追加:
JavaScript 函数传递参数为数组,怎么传?
网上查的资料,JS里,数组名不能作为参数传递, 需要先a.toString() 编程以“,”分割的字符串传递,然后在调用的地方使用split(",")
实际上,使用的时候,直接用数组名可以传递,先记录下来。