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 相关文章推荐
cnblogs TagCloud基于jquery的实现代码
Jun 11 Javascript
js Date概念详细介绍
Nov 22 Javascript
jquery无刷新验证邮箱地址实现实例
Feb 19 Javascript
JQuery中$(document)是什么意思有什么作用
Jul 21 Javascript
前端 Vue.js 和 MVVM 详细介绍
Dec 29 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
Jan 03 Javascript
基于JavaScript实现购物车功能
Feb 07 Javascript
浅谈angular4 ng-content 中隐藏的内容
Aug 18 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
Sep 25 Javascript
layui实现左侧菜单点击右侧内容区显示
Jul 26 Javascript
layui table单元格事件修改值的方法
Sep 24 Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 26 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使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
JS删除字符串中重复字符方法
2014/03/09 Javascript
删除条目时弹出的确认对话框
2014/06/05 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
使用微信小程序开发前端【快速入门】
2016/12/05 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
浅谈python出错时traceback的解读
2020/07/15 Python
Python 随机按键模拟2小时
2020/12/30 Python
用python批量移动文件
2021/01/14 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
公司成立感言
2014/01/11 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
美食节目策划方案
2014/05/31 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
大学运动会加油稿200字(5篇)
2014/09/27 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
诉讼和解协议书
2016/03/23 职场文书
详解运行Python的神器Jupyter Notebook
2021/06/03 Python
redis protocol通信协议及使用详解
2022/07/15 Redis