caller 属性和callee属性】的更多相关文章

1.caller 属性 返回一个对函数的引用,即调用了当前函数的函数体. functionName.caller :functionName 对象是所执行函数的名称. 说明: 对于函数来说,caller 属性只有在函数执行时才有定义. 如果函数是由 JScript 程序的顶层调用的,那么 caller 包含的就是 null .如果在字符串上下文中使用 caller 属性,那么结果和 functionName.toString 一样,也就是说,显示的是函数的反编译文本. Js代码 function…
应该用"属性"来称呼caller和callee,而不是方法. caller:返回调用当前函数的函数的引用.a调用b,则返回a(a是boss,因为a把b叫过去干活了): callee: 这个属性中保存b(b是被叫过去差遣的).返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文. 如果函数是由 Javascript 程序的顶层调用的,那么 caller 包含的就是 null .(全局作用域中调用,值为null) --但是callee属性有什么用处呢?? 1…
caller返回一个对函数的引用,该函数调用了当前函数. functionName.caller functionName 对象是所执行函数的名称. 说明对于函数来说,caller 属性只有在函数执行时才有定义. 如果函数是由 Javascript 程序的顶层调用的,那么 caller 包含的就是 null .下面的例子说明了 caller 属性的用法: js 代码: function callerDemo() { if (arguments.caller) { var a = callerDe…
ECMAScript5规范了函数对象的属性:caller.除了Opera的早期版本不支持,其他浏览器都支持这个ECMAScript3并没有定义的属性. [IE,Firefox,Chrome,Safari的所有版本以及Opera9.6都支持caller属性] 这个属性保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,它的值为null. functionName.caller 返回调用者. eg: function outer(){ inner(); } function inner…
函数的作用域:调用对象 JavaScript中函数的主体是在局部作用域中执行的,该作用域不同于全局作用域.这个新的作用域是通过将调用对象添加到作用域链的头部而创建的(没怎么理解这句话,有理解的亲可以留言告诉我, 谢谢).因为调用对象是作用域链的一部分,所以在函数体内可以把这个对象属性作为变量来访问. 调用对象的属性包括:用var声明的局部变量,函数形参,还有一种特殊的属性arguments 函数的实际参数:实际参数对象 arguments对象,用来引用实际参数对象.函数的arguments对象并…
js中的arguments对象代表正在执行的函数和调用它的函数的参数.arguments对象有两个属性,callee和caller.collee表示当前正在执行的方法,caller表示调用该方法的对象,如果函数是顶层调用的,则caller值为null.这两个属性可以用在以下情形: 1.方法的链式调用 (function(o){ alert(o); return arguments.callee; })("第一次调用")("第二次调用")("第三次调用&qu…
arguments.callee   在函数内部,有两个特殊的对象:arguments 和 this.其中, arguments 的主要用途是保存函数参数, 但这个对象还有一个名叫 callee 的属性,该属性是一个指针,指向拥有这个 arguments 对象的函数. 请看下面这个非常经典的阶乘函数 function factorial(num){ if (num <=1) { return 1; } else { return num * factorial(num-1) } } 定义阶乘函数…
一.caller属性返回一个对函数的引用,该函数调用了当前函数.functionName.callerfunctionName 对象是所执行函数的名称.说明对于函数来说,caller 属性只有在函数执行时才有定义. 如果函数是由 Javascript 程序的顶层调用的,那么 caller 包含的就是 null .下面的例子说明了 caller 属性的用法: function callerDemo() { if (arguments.caller) { var a= callerDemo.call…
函数内部属性:在函数内部,有两个特殊的对象:arguments和this. arguments有一个callee属性,该属性是一个指针,指向拥有这个arguments对象的函数. function factorial(num){ if (num<=1) { return 1; }else{ //return(num * factorial(num - 1)); //有耦合 return num * arguments.callee(num - 1); // 优化后的 //callee属性,该属性…
javascript 中 arguments.callee属性 可以在函数内部,指向的是这个函数(或者叫做“类”)本身. 相当于PHP 中的 self 关键字. The arguments.callee property contains the currently executing function. Description callee is a property of the arguments object. It can be used to refer to the current…