JS函数内部属性:arguments

来源:互联网 发布:jquery serialize json 编辑:程序博客网 时间:2024/05/02 21:51
//1.arguments是一个类数组对象,包含着传入函数中的所有参数。主要用途是保存函数参数,但这个对象还有一个名叫callee的属性//该属性是一个指针,指向拥有这个arguments对象的函数。//请看下面非常经典的阶乘函数function fuctorial(num){if(num<=1){return 1;}else{return num *fuctorial(num-1);}}//这个函数的执行与函数名fuctorial紧紧耦合在了一起。为了消除这种紧密耦合的现象,这像下面这样使用arguments.calleefunction fuctorial(num){if(num<=1){return 1;}else{return num * arguments.callee(num-1);//}}//在这个重写后的 fuctorial()函数的函数体内,没有再引用函数名fuctorial。这样无论引用函数时使用的是什么名字,都可以保证正常完成递归调用。var trueFuctorial = fuctorial;fuctorial = function(){ return 0};alert(trueFuctorial(5)); //120alert(trueFuctorial(5)); //0

0 0
原创粉丝点击