码迷,mamicode.com
首页 > 其他好文 > 详细

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

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

标签:io   ar   cti   算法   ef   on   c   对象   


例如:(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对象的函数

标签:io   ar   cti   算法   ef   on   c   对象   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!