arguments,caller,callee之理解

arguments对象代表正在执行的函数和调用它的函数的参数,arguments是一个不是数组但类似

数组的对象,它具有同数组一样的访问性质及方式,可以由arguments[n]来访问对应单个参数的值,

并有length属性,需要注意的是arguments对象存储的是实际传递给函数的参数,只有在函数开始时才可用。

caller返回对一个函数的引用,该函数调用当前函数。如果函数由顶层调用,caller包含的值为null。

callee返回正在被执行的Funciton对象,也就是被指定的Function的对象的正文。callee是arguments的一个成员,它表示对函数对象本身的引用。

arguments.length是实参长度,arguments.callee.length是形参长度。由此可以判断调用时形参长度是否和实参长度一致。

递归函数中,函数内部会包含对自身的引用,函数名仅仅是一个变量名,

在函数内部调用自己的函数名相当于调用一个全局变量,此时可以选择使用callee。

时间: 2024-10-20 12:22:05

arguments,caller,callee之理解的相关文章

js中arguments,caller,callee,apply的用法小结

<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <style type="text/css"> *{padding: 0;margin: 0;} #img{position: absolute;} </style> </head> <body> <img id="img" src=&quo

JS arguments/caller/callee

arguments : [function.]arguments[n] 参数function :选项.当前正在执行的 Function 对象的名字. n :选项, 要传递给 Function 对象的从0开始的参数值索引. 说明Arguments :是进行函数调用时,除了指定的参数外,还另外创建的一个隐藏对象.Arguments是一个类似数组但不是数组的对象,说它类似数组是因为其具有数组一样的访问性质及方式,可以由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length.还

arguments.callee arguments.caller call aply

转载自小小程序员 JavaScript中的arguments,callee,caller,call,appy 看了网上的一篇文章<<全面理解javascript的caller,callee,call,apply概念>>,记下代码,备用 <script language="JavaScript">/* * 演示arguments的用法,如何获取实参数和形数数 */function argTest(a,b,c,d){    var numargs = a

js 方法中内部属性arguments的callee属性

var factorial=function(num){ if(num<=1) return 1; else // return num*factorial(num-1);//递归时,在方法内部通过该方法的方法名来调用自己是非常危险的,因为js可以直接修改方法变脸的值 return num*arguments.callee(num-1);//递归时,应该使用方法内部属性arguments的callee属性,它保存了当前方法的地址(指针) } var another=factorial; fact

JavaScript中callee,caller,argument的理解

argument代表当前函数的参数数组: 1.callee的用法: argument.callee表示谁引用的这个函数 其他解释:(arguments.callee表示引用当前正在执行的函数,或者说是调用arguments.callee的函数对象的引用,它给匿名函数提供了一种自我引用的方式.通过如下例子,可以更好的理解概念.) 例如:var fun=function(){ console.log(fun===argument.callee) } fun();   //true; 执行上述代码,可

arguments arguments.caller arguments.callee call apply

一.Arguments该对象代表正在执行的函数和调用他的函数的参数.[function.]arguments[n]参数function :选项.当前正在执行的 Function 对象的名字.n :选项.要传递给 Function 对象的从0开始的参数值索引.说明:Arguments是进行函数调用时,除了指定的参数外,还另外创建的一个隐藏对象.Arguments是个类似数组但不是数组的对象,说他类似数组是因为其具备数组相同的访问性质及方式,能够由arguments[n]来访问对应的单个参数的值,并

理解JavaScript的caller,callee,call,apply

文章挺好的,虽然我用的是jQuery,但感觉还是有些用的--- 首先想说说javascript中函数的隐含参数:arguments Arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n]m.hrbfc120.com 参数function :选项.当前正在执行的 Function 对象的名字. n :选项.要传递给 Function 对象的从0开始的参数值索引. 说明 Arguments是进行函数调用时,除了指定的参数外,还另外创建的一个

详解 arguments, callee, caller, call, apply的区别

1.一个完整的JavaScript应由三部分组成:核心(ECMAScript),文档对象模型(DOM),浏览器对象模型(BOM):2.ECMAScript中的参数在内部使用一个类数组来表示的,函数接收到的始终是这个类数组,在函数体内可以通过arguments对象来访问这个参数数组,arguments对象其实是一个类数组,不是Array的实例,香港虚拟主机,可以通过方括号语法来访问,同时也可以使用length方法: 关于arguments,它的值永远与对应命名参数的值保持同步,因为argument

理解javascript的caller,callee,call,apply概念

在提到上述的概念之前,首先想说说javascript中函数的隐含参数:arguments Arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n]参数function :选项.当前正在执行的 Function 对象的名字. n :选项.要传递给 Function 对象的从0开始的参数值索引.说明 Arguments是进行函数调用时,除了指定的参数外,还另外创建的一个隐藏对象.Arguments是一个类似数组但不是数组的对象,说它类似 数组