2016-04-05 11 views
1

After Effectsで実装されているExtendScriptは、 "Function.caller"のようなFunctionメンバの多くをサポートしているようには見えないので、呼び出す関数の名前、 AE CS5.5以上で動作しますか?内蔵または外付けの両方のlibsは素晴らしいでしょう。After Effects/ExtendScript Function.caller相当のもの

答えて

0

あなたが実行している関数名(呼び出し先を)したい場合は、あなたがそれを行うことができます。

arguments.callee.name 

例:お使いの場合には

function someFuncName() { 
    $.write(arguments.callee.name); 
} 
someFuncName(); 
//Result: someFuncName 

(あなたは、呼び出し元の関数名を必要とする場合)、 ExtendScriptには組み込み関数がありませんので、作成する必要があります。

function caller() { 
    var stack = $.stack.split('\n'); 
    return stack.length === 4 ? null : stack[stack.length - 4].slice(0, -2); 
} 

ここで関数があれば

例:

function someFuncName() { 
    $.write(caller()); 
} 
function callerFuncName() { 
    someFuncName(); 
} 
callerFuncName(); //Result: callerFuncName 
someFuncName(); //Result: null 
トップレベルのコードによって呼び出されることは、私たちは、そうでない場合、我々は、呼び出し元の関数名を取得し、nullを取得します
関連する問題