找到一本js权威指南,很基础,刚好可以补充一下我的短板,抓紧时间把不知道的补充上,下面把我不知道的,也不常用的点记录下来
1.arguments,是js的标识符,但是不是js的保留字,可以通过arguments[i],通过给i传递0、1、2、3等值,来获取参数列表的值,eg:
function max(){
var m = Number.NEGATIVE_INFINITY;
for(var i = 0;i<arguments.length;i++){
if(arguments[i]>m) {
m = arguments[i];
}
}
return m;
}
var result1 = max(1,2);
alert(result1);
var result2 = mex();
alert(result2);
以上代码首先alert出result为2,然后alert出result2为 -Infinity(即Number.NEGATIVE_INFINITY,表示负的不能表示的最大值)
2、callee
Arguments对象还定义了一个callee的属性,用来引用打过钱正在执行的函数,这个函数可以用来允许对未命名的函数递归地调用自身,eg:
function calleeTest(x){
if(x<=0) return 1;
return x* arguments.callee(x-1);
}
var result = calleeTest(3);
alert(result);
上面代码 通过arguments.callee来调用自身函数,这段代码最终会返回3*2*1*1 即 6
507

被折叠的 条评论
为什么被折叠?



