日期:2014-05-16  浏览次数:20283 次

js arguments对象的用法 一个例子
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Arguments对象</title>
<script>
var $ = function (id) {
    return "string" == typeof id ? document.getElementById(id) : id;
};
function f(x,y,z)
{
    //[function].arguments.length
    //[f].arguments.length是得到f方法实际传入的参数数量
    //f.length是得到f方法期望传入的参数数量(现在期望3个)
    for(var i=0; i < arguments.length; i++){
        $("dv").innerHTML +="第"+(i+1)+"个参数的值是:" +arguments[i] +";<br>";
        }
    if(arguments.length == 3)
    {
        alert("想要传入参数的个数是 "+ f.length);
    }
    else
        alert("实际传入参数的个数是 "+ arguments.length); //实际传入参数的值分别是
    arguments[0] = '设置第1个参数的值为';
    alert(x);
}
function factorial(n){
    //[function].arguments.callee 返回正被执行的Function对象,有递归功能,也就一起调用factorial函数直到某个条件为此
    if (n <= 0)
        return 1;
    else
        return n * arguments.callee(n - 1); //实现递归
}
//如4的阶乘
document.writeln(factorial(4));

</script>
</head>
<body onload="f('xxx',3)">
<div id="dv"> </div>
</body>
</html>

?