递归父函数调用者
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归父函数调用者相关的知识,希望对你有一定的参考价值。
This snippet allows to know the parent function caller name of any level from the calling function.
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>
以上是关于递归父函数调用者的主要内容,如果未能解决你的问题,请参考以下文章
isMemberOfClassisKindOfClass原理分析
java中,当实例化子类时会递归调用父类中的构造方法。这个说法对么?为啥