2010-08-25 23 views
9

Olası Çoğalt bir değişkenin 'isim alınır: a değişkenin gerçek adını almak için onun mümkünse ben istiyorum
Determine original name of variable after its passed to a function.JavaScript

bilmek. Örneğin

:

var foo = 'bar'; 
function getName(myvar) { 
    //some code 
    return "foo" 
}; 

Yani getName (foo) için "foo"

dönecektir olması mümkün mü?

Teşekkürler.

+2

neden değişken adı ile ilgilenen olurdu? Aksine fonksiyonlardaki mantık değişken değerlere bağlı olmalıdır? –

+0

Bu kodu çok garip buluyorum. Neyi başarmaya çalıştığını merak ediyorum? –

+0

Neyse ki bu JavaScript’te mümkün değil, aksi takdirde bunun gibi korkunç bir şeyle karşılaşırsınız: http://stackoverflow.com/questions/2749796/how-to-get-the-original-variable-name- Değişken-geçirilmiş-için-bir-işlev/2749857 # 2749857 –

cevap

4

Bunun mümkün olduğunu düşünmüyorum. Bir işlevi çağırdığınızda, bir değişken değil, bir nesneyi geçirirsiniz. İşlev nesnenin nereden geldiğini umursamıyor.

getName('foo') 

Veya değeri ve ismi hem pass: şu şekildedir: Eğer işlev çağırırsanız

Gerçi başka bir yol gidebilir

getName(foo, 'foo') 
+0

Sadece bir yorum, geri dönüş değeri olarak alacağımı bildiğim zaman neden 'foo' harcoded string değerini ileteyim? –

+0

@Sachin Shanbhag: Bir parametre olarak iletmezseniz, tam olarak nasıl bir dönüş değeri olarak elde edersiniz? OP'nin sorduğu şeyin mümkün olduğunu varsayıyorsunuz. Belki de ... ama gerçekten * bunun bazı kanıtlarını görmek istiyorum. –

+0

Sana tamamen katılıyorum. Bu, gerekli olanı elde etmenin olası yollarından biridir, ancak programlama perspektifinden, eğer daha fazla işlem için bu dönüş değerini kullanıyorum, bu değeri işlevine geçirmeden önce ve geri dönüş değerini beklememeyi bildiğimi zaten biliyorum. Suçlama yok, ama aslında programa yardımcı olmadığından değişken adın alınmasının pozis olmadığını varsayıyorum. –