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 相关文章推荐
showModalDialog 和 showModelessDialog
Jan 22 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
Jan 22 Javascript
老生常谈onBlur事件与onfocus事件(js)
Jul 09 Javascript
JS实现获取当前URL和来源URL的方法
Aug 24 Javascript
详解自定义ajax支持跨域组件封装
Feb 08 Javascript
vue 开发一个按钮组件的示例代码
Mar 27 Javascript
JS实现字符串去重及数组去重的方法示例
Apr 21 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 Javascript
js类的继承定义与用法分析
Jun 21 Javascript
vue props 单项数据流实例分享
Feb 16 Javascript
vue打包npm run build时候界面报错的解决
Aug 13 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中error与exception的区别及应用
2014/07/28 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
Python中条件判断语句的简单使用方法
2015/08/21 Python
python 字典中取值的两种方法小结
2018/08/02 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
python实现简单坦克大战
2020/03/27 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
DataReader和DataSet的异同
2014/12/31 面试题
行政人员岗位职责
2013/12/08 职场文书
企业文明单位申报材料
2014/05/16 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
庆祝教师节主持词
2015/07/06 职场文书
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python