Böyle bir işlevi varsa:Arayan işlevinin 'bu' değerini nasıl alırsınız?
function foo(_this) {
console.log(_this);
}
function bar() {}
bar.prototype.func = function() {
foo(this);
}
var test = new bar();
test.func();
sonra bar
ait test
örneği açmış olur.
Ancak, bunun çalışması için bar.prototype.func
işlevinde this
iletmem gerekiyor. this
'u geçmeden olmadandeğeri değerini almanın mümkün olup olmadığını merak ediyordum.
arguments.callee.caller
kullanmayı denedim, ancak bu, prototip işlevinin içinde this
değerinin değil prototip işlevinin kendisini döndürür.
bar
test
örneğinin prototip işlevinde yalnızca foo()
numaralı telefonu arayarak loglanması mümkün mü?
yok çağrı yığını kadar fonksiyonlarının bağlamını erişemez. Bu bağlamı geçmelisin. – Raynos
Çubuğun prototipine eklenmek için özel bir amaç işlevi oluşturmaya devam ediyorsanız, bunu 'bunu yapmak istememenizin bir nedeni var mı? Bu modeli kullanmak için öğrenme amaçlarından başka bir sebep var mı? – TNi
@TNi: Her zaman pratik bir amacı yoktur, ancak senaryoda yararlı olacaktır. Sadece bir işlev geçirerek ve döngüler için olduğu gibi işlevi yürüten bir işleve bağlı olarak döngü için çok düzeyli bir yapı oluşturmaya çalışıyorum.Döngüsel bir döngüde, buna 'bu' erişebilir, ancak bu şekilde bu işlevi işlevime iletmem gerektiği gibi görünüyor. – pimvdb