JavaScript 递归父母函数调用者

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 递归父母函数调用者相关的知识,希望对你有一定的参考价值。

<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
Function.prototype.myname = function() { return this.toString().substr( 0, this.toString().indexOf( "(" ) ).replace( "function ", "" ) ; }
Function.prototype.callername = function( _level )
{
     // level 0 is this functon
     _level = parseInt( _level, 10 );      if ( isNaN( _level ) || _level < 0 ) _level = 0 ;
     var _eval_str = "arguments.callee" ;
     for( var _l = 0 ; _l <= _level ; _l++ ) _eval_str += ".caller" ;
     
     _eval_str += ".myname();" ;
     return eval( _eval_str ) ;
}

function _child_caller()
{
    document.write( "This function is " + arguments.callee.callername(0) ) ;
    document.write( "<br>" );
    document.write( "Parent function is " + arguments.callee.callername(1) ) ;
    document.write( "<br>" );
    document.write( "Grand Parent function is " + arguments.callee.callername(2) ) ;
}

function _parent_caller()
{
    _child_caller() ;
}

function _grand_parent_caller()
{
    _parent_caller() ;
}

_grand_parent_caller();
</SCRIPT>

以上是关于JavaScript 递归父母函数调用者的主要内容,如果未能解决你的问题,请参考以下文章

javascript 函数调用者#js

javascript 函数调用者#js

如何在 Javascript 中将数据返回给原始调用者函数?

是否有一个 javascript 函数可以找到调用者 id

Node.js资讯 | ES6 下的函数式:递归模式;JavaScript 深拷贝性能分析

JavaScript语法