2013-09-07 3 views
2

javascript 또는 JQuery에서 변수의 이름을 가져올 수 있는지 궁금합니다. 함수가 변수를받을변수 이름 속성 가져 오기

var customerNr = "456910"; 

경우, 내가 어떻게 변수의 이름을 반환 할 수 있습니다 : 나는 자바 스크립트 등의 변수를 선언하는 것이

은 가정? 예를 들어

:

getNameOfVariable(customerNr); 

기능은 값이 "customerNr"인 문자열을 반환해야한다 :이 같은이 함수를 호출 할 경우

function getNameOfVariable(someVariable){ 
    //return name of someVariable; 
} 

.

어떻게 이것을 jquery 또는 javascript에서 할 수 있습니까? 어떤 종류의 반성?

+3

를 참조하거나 오히려 당신이해야하지! 당신은 eval이나 다른 트릭을 사용하여 이것을 수행 할 수 있지만, 변수의 이름이 필요하면 하루가 끝날 무렵에 뭔가 잘못 될 수 있습니다. – adeneo

답변

1

간단히 가능하지 않습니다!

전달 된 매개 변수에는 이름이 없어도됩니다. 함수 또는 원시 리터럴 (예 : "string" 또는 3)의 반환 값일 수 있습니다.

0

아니요, 불가능합니다. 값은 참조가 아닌 원시 데이터 형식으로 전송되므로 변수의 "이름"이 무엇인지 어떻게 알 수 있습니까? 예를 들어 :

var customerNr="456910"; 
var customerNrAfterProcessing=customerNr; 
getNameOfVariable(customerNrAfterProcessing); 

그것은 customerNrAfterProcessing 또는 customerNr을 반환?

그러나 개체와 함께이 동작을 모방 할 수 있습니다.

var variableName = someMethodThatDeterminesVariableNameOrJustAConstantIfYouPrefer(); 
var myVariables={}; 
var myVariables[variableName]={}; 
myVariables[variableName].value="456910"; 
myVariables[variableName].variableName=variableName; 

function getNameOfVariable(someVariable){ 
    return someVariable.variableName; 
} 
getNameOfVariable(myVariables[variableName]); 

물론, 이것은 단지 바로 여기서 variableName 변수를 사용하는 것보다 더 많은 작업 금액,하지만 좀 더 복잡한 상황에서 필요한 수 있습니다.

당신은 할 수 없습니다 working with objects in JS reference

+1

당신이하는 것처럼 행동을 모방한다면, 매개 변수를 따라 이름을 전달할 수 있습니다 :'func (myVariable, 'myVariable')' – ComFreek

관련 문제