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 动态酷效果实现总结
Dec 27 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
Apr 05 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
Dec 27 Javascript
javascript框架设计读书笔记之数组的扩展与修复
Dec 02 Javascript
Jquery中Event对象属性小结
Feb 27 Javascript
前端js实现文件的断点续传 后端PHP文件接收
Oct 14 Javascript
基于angularJS的表单验证指令介绍
Oct 21 Javascript
JS中使用media实现响应式布局
Aug 04 Javascript
解决vue动态为数据添加新属性遇到的问题
Sep 18 Javascript
微信小程序实现的五星评价功能示例
Apr 25 Javascript
关于vue组件事件属性穿透详解
Oct 28 Javascript
JavaScript常用工具函数汇总(浏览器环境)
Sep 17 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 Socket技术
2013/08/02 PHP
YII2框架中查询生成器Query()的使用方法示例
2020/03/18 PHP
广告代码静态化js通用函数
2007/05/09 Javascript
Javascript学习笔记2 函数
2010/01/11 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
关于js datetime的那点事
2011/11/15 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
JS 5种遍历对象的方式
2020/06/16 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
python刷投票的脚本实现代码
2014/11/08 Python
python创建关联数组(字典)的方法
2015/05/04 Python
Python functools模块学习总结
2015/05/09 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
加拿大女装网上购物:Reitmans
2016/10/20 全球购物
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
药学专业个人自我评价
2013/11/11 职场文书
三年大学自我鉴定
2014/01/16 职场文书
总经理工作职责范文
2014/03/14 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
用Python实现Newton插值法
2021/04/17 Python