首页 > 语言 > JavaScript > 正文

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

2024-05-06 16:18:36
字体:
来源:转载
供稿:网友
这篇文章主要介绍了Javascript中arguments和arguments.callee的区别浅析,本文用一个实例来理解它们的区别,需要的朋友可以参考下
 

通过一个例子来理解下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){}"


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选