首页 > 其他 > 详细

2、函数内部属性 arguments是类数组对象,主要用途是保存函数参数,但这个对象中有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数

时间:2014-08-18 20:01:52      阅读:499      评论:0      收藏:0      [点我收藏+]


例如:(1)、function factorial(num){
if(num<=1){
return 1;
}else{
return num*factorial(num-1);
}
}//此时是递归算法
var trueFactorial=factorial;//将factorial复制给trueFactorial
factorial=function(){
return 0;
}//覆盖factorial函数
alert(trueFactorial(5));//0;因为辞职factorial函数已经发生变化,原本在factorial里面调用本身,此时也已经变了
alert(factorial(5));//0
;
(2)、function factorial(num){
if(num<=1){
return 1;
}else{
return num*arguments.callee(num-1);//指向拥有arguments函数本身,不会因函数名变化而受影响
}
}
var trueFactorial=factorial;
factorial=function(){
return 0;
}
alert(trueFactorial(5));//120;
alert(factorial(5));//0

2、函数内部属性 arguments是类数组对象,主要用途是保存函数参数,但这个对象中有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数,布布扣,bubuko.com

2、函数内部属性 arguments是类数组对象,主要用途是保存函数参数,但这个对象中有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数

原文:http://www.cnblogs.com/danmohendt/p/3920154.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!