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 相关文章推荐
jQuery MD5加密实现代码
Mar 15 Javascript
HTML Dom与Css控制方法
Oct 25 Javascript
jQuery点击tr实现checkbox选中的方法
Mar 19 Javascript
jquery如何把数组变为字符串传到服务端并处理
Apr 30 Javascript
javascript中AJAX用法实例分析
Jan 30 Javascript
jQuery表单验证功能实例
Aug 28 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
Apr 13 Javascript
three.js加载obj模型的实例代码
Nov 10 Javascript
详解Angular5 服务端渲染实战
Jan 04 Javascript
在vue中v-bind使用三目运算符绑定class的实例
Sep 29 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
Dec 07 Javascript
基于JavaScript实现猜数字游戏代码实例
Jul 30 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 Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
PHP getName()函数讲解
2019/02/03 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
JavaScript字符串转数字的简单实现方法
2020/11/27 Javascript
Vue与React的区别和优势对比
2020/12/18 Vue.js
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
Python3将数据保存为txt文件的方法
2019/09/12 Python
python生成器推导式用法简单示例
2019/10/08 Python
TensorFlow查看输入节点和输出节点名称方式
2020/01/04 Python
执行Python程序时模块报错问题
2020/03/26 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
竞职演讲稿范文
2014/01/11 职场文书
校园之星获奖感言
2014/01/29 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
vue ant design 封装弹窗表单的使用
2022/06/01 Vue.js