在JavaScript中:
<script type="text/javascript">
/*可以使用arguments对象来访问传递给函数的参数列表,即使定义函数的时候参数列表为空也能获取
function demo3(arg1,arg2,arg3)
{
"use strict";
alert(arg1);
alert(arg2);
alert(arg3);
alert(arguments);
for (var i in arguments) {
alert(i +' -> '+ arguments[i]);
}
}
//JavaScript中函数中定义的参数个数和使用函数时候传递的参数个数可以不同,可以比定义的数量多也可以少,
//因为JavaScript函数中有一个对象arguments,使用它可以获取函数参数
demo3('a','b');
alert('end of 1');
demo3('a','b','c');
alert('end of 2');
demo3('a','b','c','d');
alert('end of 3');
*/
/*严格模式下不能使用关键字保留字作为函数的参数名
function demo2(arguments)
{
"use strict"; //使用ECMS5中的严格模式 "use strict";
alert(arguments);
}
demo2('haha');
*/
/*测试函数中的局部变量在函数外面不能被访问到
function demo1()
{
var test;
test = 'demo test';
alert(test);
}
demo1();
//在函数外部调用函数内部局部变量会失败,会报错,因为
//在函数外面的作用域中test是未定义的,相当于调用未定义的变量
alert(aaa);
*/
</script>
在PHP中:
<?php
error_reporting(0);
function demo2($arg1,$arg2)
{
print_r(func_get_args());
}
//定义的函数有参数列表,调用的时候不传递或少传递参数,会给出warning
demo2('a');
//传递的参数个数比定义函数的参数个数多的时候,不受影响
demo2('a','b','c');
/* 定义没有参数列表的函数,但是可以传递参数给函数,而且可以使用func_get_args/func_get_arg/func_num_args获取传递过来的函数
*
//定义一个没有参数列表的函数
function demo1()
{
var_dump(func_get_args());
var_dump(func_num_args());
var_dump(func_get_arg(0));
}
//调用php函数
// demo1('a');
demo1('a','b');
*/
?>