首页 > 代码库 > 2、函数内部属性 arguments是类数组对象,主要用途是保存函数参数,但这个对象中有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数
2、函数内部属性 arguments是类数组对象,主要用途是保存函数参数,但这个对象中有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数
例如:(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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。