2010-08-25 28 views
9

Eventuali duplicati:
Determine original name of variable after its passed to a function.Prendi il 'nome' di una variabile in Javascript

Vorrei sapere se il suo possibile per ottenere il nome effettivo di una variabile.

Ad esempio:

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

Quindi per getName (foo) restituirà "pippo"

è possibile?

Grazie.

+2

perché dovreste essere interessati a nome della variabile? Piuttosto la tua logica nelle funzioni dovrebbe dipendere dai valori delle variabili giusto? –

+0

Trovo questo codice estremamente strano. Mi chiedo cosa stai cercando di realizzare? –

+0

Fortunatamente questo non è possibile in JavaScript, altrimenti si finirebbe con qualcosa di orribile come questo ... http://stackoverflow.com/questions/2749796/how-to-get-the-original-variable-name- di-variable-passed-to-a-function/2749857 # 2749857 –

risposta

4

Non credo sia possibile. Quando si chiama una funzione si passa un oggetto, non una variabile. Alla funzione non importa da dove viene l'oggetto.

si può andare nella direzione opposta anche se si chiama la funzione come segue:

getName('foo') 

o si passa sia il valore e il nome:

getName(foo, 'foo') 
+0

Solo un commento, perché dovrei passare un valore di stringa harcoded 'foo' quando so che lo otterrò come valore di ritorno? –

+0

@Sachin Shanbhag: come lo otterrete esattamente come valore di ritorno se non lo passate come parametro? Supponi che ciò che l'OP sta chiedendo sia possibile. Forse è ... ma mi piacerebbe davvero vedere alcune prove di ciò, per favore. –

+0

Sono assolutamente d'accordo con te. Questo è uno dei modi possibili per ottenere ciò che è richiesto, ma dal punto di vista della programmazione, se sto usando quel valore di ritorno per ulteriori operazioni, conosco già quel valore prima di passarlo alla funzione e non è necessario attendere il valore restituito. Senza offesa, ma in realtà sto assumendo che ottenere il nome della variabile non sia posibile poiché non aiuta nella programmazione. –

Problemi correlati