2016-04-05 14 views
1

After Effects'te uygulandığı şekilde ExtendScript işlevi, "Function.caller" gibi birçok İşlev üyesini desteklediği için arama işlevinin adını görmenizi sağlayan bilinen başka bir yöntem var mı? AE CS5.5 için çalışıyor mu? Hem yerleşik hem de harici lib'ler harika olurdu. Eğer koşu fonksiyon adı (Aranan) istiyorsanızAfter Effects/ExtendScript Function.caller eşdeğeri

cevap

0

, sen bunu yapabilirsiniz:

arguments.callee.name 

Örnek:

(Arayan fonksiyon adı gerekir) Senin durumunda
function someFuncName() { 
    $.write(arguments.callee.name); 
} 
someFuncName(); 
//Result: someFuncName 

, ExtendScript yapar fonksiyonu dahili, yani bir tane oluşturmanız gerekir olmamıştır: biz bir işlev varsa,

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

Şimdi

Örnek:

function someFuncName() { 
    $.write(caller()); 
} 
function callerFuncName() { 
    someFuncName(); 
} 
callerFuncName(); //Result: callerFuncName 
someFuncName(); //Result: null 
üst düzey koduna göre çağrılan o yüzden biz aksi takdirde biz arayan fonksiyon adını almak null alacak