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


Posted in Javascript onApril 24, 2015

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

Javascript 相关文章推荐
IE event.srcElement和FF event.target 功能比较
Mar 01 Javascript
JS数学函数Exp使用说明
Aug 09 Javascript
基于JavaScript如何制作遮罩层对话框
Jan 26 Javascript
window.onload绑定多个事件的两种解决方案
May 15 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
Aug 29 Javascript
javascript容错处理代码(屏蔽js错误)
Jan 20 Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 Javascript
jQuery表单验证之密码确认
May 22 jQuery
vue的token刷新处理的方法
Jul 17 Javascript
基于Vue插入视频的2种方法小结
Apr 02 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
Sep 25 Javascript
详解template标签用法(含vue中的用法总结)
Jan 12 Vue.js
Node.js实现Excel转JSON
Apr 24 #Javascript
js中for in语句的用法讲解
Apr 24 #Javascript
JScript中的条件注释详解
Apr 24 #Javascript
HTML5+setCutomValidity()函数验证表单实例分享
Apr 24 #Javascript
js闭包实现按秒计数
Apr 23 #Javascript
jQuery中使用each处理json数据
Apr 23 #Javascript
javascript数组去重方法汇总
Apr 23 #Javascript
You might like
PHP中对数据库操作的封装
2006/10/09 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
非常重要的php正则表达式详解
2016/01/04 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
2016/03/30 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
2019/11/15 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
Python中的多重装饰器
2015/04/11 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
性能测试工程师的面试题
2015/02/20 面试题
教你打造完美的创业计划书
2014/01/06 职场文书
体现团队精神的口号
2014/06/06 职场文书
工地宣传标语
2014/06/18 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
Python实现仓库管理系统
2022/05/30 Python
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS