概述
虽然arguments的主要用途是保存函数参数,但是这个对象还有一个callee的属性,该属性是一个指针,指向拥用这个arguments对象的函数;
这种阶乘写法是强耦合,如果外面的函数名改变了,里面就不能拿到预期的结果
function jiecheng(num)(){
if(num<=1){
return 1
}else{
return num *jiecheng(num-1)
}
}
使用callee就不会有这种问题:
function jiecheng(num)(){
if(num<=1){
return 1
}else{
return num *arguments.callee(num-1)
}
}
注意:在严格模式下,arguments.callee会导致错误;
函数的caller属性,会保存着调用当前函数的引用(参考书115页)
最后
以上就是轻松香氛为你收集整理的函数arguments对象的callee属性和函数的caller属性的全部内容,希望文章能够帮你解决函数arguments对象的callee属性和函数的caller属性所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复