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 相关文章推荐
iframe父页面获取子页面参数的方法
Feb 21 Javascript
Javascript获取统一管理的提示语(message)
Feb 03 Javascript
JS面试题---关于算法台阶的问题
Jul 26 Javascript
老生常谈JavaScript中的this关键字
Oct 01 Javascript
js判断iframe中元素是否存在的实现代码
Dec 24 Javascript
H5手机端多文件上传预览插件
Apr 21 Javascript
JavaScript多态与封装实例分析
Jul 27 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
Aug 25 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
Apr 18 Javascript
vue路由教程之静态路由
Sep 03 Javascript
JavaScript JSON使用原理及注意事项
Jul 30 Javascript
JavaScript实现简易计算器小功能
Oct 22 Javascript
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入门速成(2)
2006/10/09 PHP
浅析php学习的路线图
2013/07/10 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
Js apply方法详解
2017/02/16 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
el-select数据过多懒加载的解决(loadmore)
2019/05/29 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
python多线程扫描端口示例
2014/01/16 Python
python在命令行下使用google翻译(带语音)
2014/01/16 Python
python实现rest请求api示例
2014/04/22 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
Python中使用遍历在列表中添加字典遇到的坑
2019/02/27 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
函授自我鉴定
2013/11/06 职场文书
网络编辑岗位职责范本
2014/02/10 职场文书
仓管员岗位职责
2015/02/03 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
2015年度村委会工作总结
2015/04/29 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
Spring Bean是如何初始化的详解
2022/03/22 Java/Android