我是靠谱客的博主 轻松香氛,这篇文章主要介绍函数arguments对象的callee属性和函数的caller属性,现在分享给大家,希望可以做个参考。

虽然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对象内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(131)

评论列表共有 0 条评论

立即
投稿
返回
顶部