您的位置:首页 > Web前端 > JavaScript

js 方法中内部属性arguments的callee属性

2015-09-13 12:43 721 查看
var factorial=function(num){

if(num<=1)

return 1;

else

// return num*factorial(num-1);//递归时,在方法内部通过该方法的方法名来调用自己是非常危险的,因为js可以直接修改方法变脸的值

return num*arguments.callee(num-1);//递归时,应该使用方法内部属性arguments的callee属性,它保存了当前方法的地址(指针)

}

var another=factorial;

factorial=function(){

return 1;

}

alert(another(5));

alert(another(5));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: