呼び出し先
callee はオブジェクトの属性であり、引数オブジェクト
の関数を指すポインタです。
まず、順序関数を作成しましょう:
function chen(x){ if (x<=1) { return 1; } else{ return x*chen(x-1); }; };
この関数は再帰関数を使っているので関数名を変更すると内部の関数名も変わってしまうので非常に不便なのでcalleeを使って試してみます。
function chen(x){ if (x<=1) {return 1; }else{ return x*arguments.callee(x-1); }; };
発信者
まず例を見てみましょう
function a(){ b(); }; function b(){ alert(b.caller); }; a(); //结果就是弹出函数a和内容
呼び出し元と呼び出し先を理解したところで、この 2 つを組み合わせて使用できますか?
function b(){ alert(b.caller); };
(function a(){ b(); })(); function b(){ alert(arguments.callee.caller); };
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。