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

 更新时间:2015年04月24日 09:35:56   投稿:junjie  
这篇文章主要介绍了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){}"

相关文章

  • js中document.write的那点事

    js中document.write的那点事

    document.write()方法可以用在两个方面:页面载入过程中用实时脚本创建页面内容,以及用延时脚本创建本窗口或新窗口的内容。该方法需要一个字符串参数,它是写到窗口或框架中的HTML内容。这些字符串参数可以是变量或值为字符串的表达式,写入的内容常常包括HTML标记语言
    2014-12-12
  • JS数组(Array)处理函数整理

    JS数组(Array)处理函数整理

    这篇文章主要整理了一下JS数组(Array)处理函数,常用的都汇总了一下,推荐给大家。
    2014-12-12
  • DOM下的节点属性和操作小结

    DOM下的节点属性和操作小结

    DOM 节点属性操作方法小结。
    2009-05-05
  • 关于前端要知道的 AST知识

    关于前端要知道的 AST知识

    这篇文章主要介绍了关于前端要知道的 AST知识,在计算机科学中,抽象语法树是源代码语法结构的一种抽象表示,需要的朋友可以参考下
    2023-04-04
  • 了解前端理论:rscss和rsjs

    了解前端理论:rscss和rsjs

    在前端开发中,我们会尝试去定一些规则和约定,来让项目质量更高,更易于维护。而对于这些规则和约定,我们也会希望它内容简单,容易理解。下面小编来和大家一起学习一下
    2019-05-05
  • js indexOf()定义和用法

    js indexOf()定义和用法

    js中indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
    2012-10-10
  • 解析JavaScript的ES6版本中的解构赋值

    解析JavaScript的ES6版本中的解构赋值

    这篇文章主要介绍了解析JavaScript的ES6版本中的解构赋值,ES6版本为JS带来了诸多简化方面的改进,需要的朋友可以参考下
    2015-07-07
  • JavaScript中各数制转换全面总结

    JavaScript中各数制转换全面总结

    这篇文章主要介绍了JavaScript中各数制转换,利用toString的基模式来进行转换,对数字调用 toString(10) 与调用 toString() 它们返回的区别和相同之处等等都在本文中提及,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。
    2017-08-08
  • 动态生成页面元素的代码

    动态生成页面元素的代码

    动态生成页面元素的代码...
    2007-03-03
  • 详细解读JavaScript的跨浏览器事件处理

    详细解读JavaScript的跨浏览器事件处理

    这篇文章主要介绍了JavaScript的跨浏览器事件处理,以全浏览器兼容为大致目标,需要的朋友可以参考下
    2015-08-08

最新评论