Function.caller

 

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/caller

 

非标准
该特性是非标准的,请尽量不要在生产环境中使用它!

概述

返回调用指定函数的函数.

该属性不是ECMA-262第3版标准的一部分.不过, SpiderMonkey (Mozilla的JavaScript引擎) (查看bug 65683), V8 (Chrome的JavaScript引擎) 和 JScript(IE的ECMAScript实现)都已经支持了它.

描述

如果一个函数f是在全局作用域内被调用的,则f.caller为null,相反,如果一个函数是在另外一个函数作用域内被调用的,则f.caller指向调用它的那个函数.

该属性的常用形式arguments.callee.caller替代了被废弃的 arguments.caller.

 

 

例子

例子: 检测一个函数的caller属性的值

下例用来得出一个函数是被谁调用的.

function myFunc() {
   if (myFunc.caller == null) {
      return ("该函数在全局作用域内被调用!");
   } else
      return ("调用我的是函数是" + myFunc.caller);
}

 

posted @ 2015-08-25 11:14  darr  阅读(267)  评论(0编辑  收藏  举报