JS函数的参数(arguments)的使用
JS函数的参数在function内可以用arguments对象来获取。
参数的调用有两种方式:
1、期望参数的使用。
2、实际传递参数的使用。
应用举例:
function Test(a, b){
var i, s = "Test函数有";
var numargs = arguments.length; // 获取实际被传递参数的数值。
var expargs = Test.length; // 获取期望参数的数值,函数定义时的预期参数个数(有a和b 2个参数)。
s += (expargs + "个参数。");
s += "\n\n"
for (i =0 ; i < numargs; i++){ // 获取参数内容。
s += " 第" + i + "个参数是:" + arguments[i] + "\n";
}
return(s); // 返回参数列表。
}
alert(Test('param1','second param','第三个参数'));
需要注意的是:
arguments是一个object对象,它不是数组,不能对它使用shift、push、join等方法。
上述举例时用的arguments[i]中的i只是作为arguments对象的属性,并不能理解为数组下标。
代码演示
1 <html> 2 <head> 3 <script language="javascript"> 4 5 function reloadList(){ 6 7 if(typeof arguments[0] == "function"){ 8 arguments[0].call(this); 9 arguments[0](); 10 } 11 12 if(typeof arguments[0] == "string") 13 alert(arguments[0]); 14 15 if(typeof arguments[0] == "number") 16 alert(arguments[0]); 17 18 if(typeof arguments[0] == "undefined") 19 alert(arguments[0]); 20 21 if(typeof arguments[0] == "boolean") 22 alert(arguments[0]); 23 24 if(typeof arguments[0] == "null") 25 alert(arguments[0]); 26 27 } 28 29 reloadList(function(){}); 30 </script> 31 </head> 32 <body> 33 </body>