Javascript中arguments和arguments.callee的区别浅析

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Javascript中arguments和arguments.callee的区别浅析

  2020-05-13 我要评论

通过一个例子来理解下arguments与arguments.callee的具体区别:

代码如下:

复制代码 代码如下:

<script type="text/javascript">        
        function check(args){            
            var ac = args.length; 
            var ex = args.callee.length; 
            document.write("ac:" + ac + '<br>'); 
            document.write("ex:" + ex + '<br>'); 
            if (ac != ex) { 
                document.write("wrong number of arguments: expected: " + ex + "; actually passed" + ac + '<br>'); 
            } 
        } 
        function f(x, y, z) { 
            check(arguments); 
            document.write(x + y + z); 
        }             
    </script> 

调用方法:

复制代码 代码如下:

<input name="wr" type="button" value="调用" onclick="f(1,2)" /> 

运行后的结果为:
复制代码 代码如下:

ac:2
ex:3
wrong number of arguments: expected: 3; actually passed2
NaN

我的理解:

arguments即调用对象,就是调用这个方法的对象
arguments.callee即当前对象,实际上就是返回当前执行的函数对象
通过这个例子,可以看出
arguments实际上是指函数“f(1,2)”
argument.callee实际上是指"function f(x,y,z){}"

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们