2014-10-05 2 views
0

에 변수 이름을 변환 :자바 스크립트 내가 같은 기능을 가지고 문자열

function testFunction(option) 
{ 
    alert(option); 
} 

그리고 당신은 testFunction("qwerty");을 할 경우 물론, 작동, 또는 (실제 기능은 옵션에 대답보다 더 많은 작업을 수행) testFunction(myvar);, 여기서 myvar은 변수입니다.

QWERTY가 예상대로 변수가 아닌 testFunction(qwerty);을 입력하면 작동하지 않습니다.

option 경우는 정상적으로 계속 문자열 또는 경고하는 변수 또는 문자열의 경우 (예 : 위의 예에서 "qwerty"myvar로) 및보고 기능 점검을 만들 수있는 방법이 있는지 궁금 해서요 변수의 값.

그러나 변수 또는 문자열이 아니지만 정의되지 않은 변수 인 경우 (위의 예에서 qwerty과 같은 경우) 변수 이름 (이 경우 qwerty)을 알리고 싶습니다.

이것이 가능합니까?

감사합니다.


좀 더 예 :

var myvar = "1234"; 
testFunction("test"); //alerts "test" 
testFunction(myvar); //alerts "1234" 
testFunction(qwerty); //alert "qwerty" 
+0

정확히 일치하는 제목과 함께 (가까이에) 정확한 제목이있는 질문이 있습니다. 그래서 질문을 참조하십시오 http://stackoverflow.com/questions/7983896/convert-variable-name-to-string-in-javascript – Matthias

+0

아니, 불가능합니다. –

+0

어쨌든 이것의 목적은 무엇입니까? – xShirase

답변

1

여기에 귀하의 문제가 있음을 testFunction (QWERTY); 기능에 도달하지도 않습니다.

자바 스크립트는 'qwerty'변수가 정의되지 않았기 때문에이를 해석 할 수 없으므로 바로 충돌합니다. 당신은 절대적으로해야

function testFunction(option){ 
     console.log(option); 
} 


try { 
    var myvar = "1234"; 
    testFunction("test"); //alerts "test" 
    testFunction(myvar); 
    testFunction(qwerty); //alert "qwerty" 
}catch(e){ 
    if(e.message.indexOf('is not defined')!==-1){ 
     var nd = e.message.split(' ')[0]; 
     testFunction(nd); 
    } 
} 

JSFiddle here

곰 염두에두고 :

그냥 재미를 위해, 여기 당신이 정의되지 않은 변수를 해석하려고 할 때 발생 오류를 잡기로, 요청 일을 할 수있는 방법 절대하지 말고 대신 프로그램에서 기존 변수를 사용해보십시오.)

관련 문제