2011-03-14 4 views
0

jQuery에서 개체의 이름을 문자열로 가져 오는 방법은 없습니까?개체 이름을 문자열로

즉 내가

markers.events = { 
    click: function(event){}, 
    drag: function(event){} 
}; 

내가 문자열 "click" 또는 "drag"

을 좀하고 싶습니다이 $.each(myObj, function(){}) 안에이 가능이 있다면?

내가 개체의 (희망) 다음을 수행 위에서 언급해야합니다

$.each(markers.events, function(i, event){ 
    google.maps.event.addListener(marker, "click/drag", event); 
}) 
+2

그것은 이름이 아닙니다 개체의 그것은 변수의 이름입니다. 여러 변수가 동일한 객체에 대한 참조를 가질 수 있습니다. –

+1

성취하고자하는 것을 중심으로 질문하지 않는 이유는 무엇입니까? – Pointy

+0

무엇이 필요할까요? – Kevin

답변

1

개체 자체에는 이름이 없습니다. 이렇게하면 :

var x = {}; 

는 객체가 생성되고 변수 x가에 대한 참조를해야합니다. 그러나 개체의 이름은 'x'이 아닙니다. 그 물체는 이름이 없다.

심지어 다른 변수를 선언하고, 같은 객체에 참조를 설정할 수

var y = x; 

이제 X 및 Y 모두가 같은 (무명) 객체에 대한 참조를 포함한다.

원하는 것은 식별자 이름에 따라 변수의 이름을 문자열 화하는 것입니다. 그것은 할 수 없습니다.


업데이트 :

$.each(markers.event, function(i, v) { 
    google.maps.event.addListener(marker, i, v); 
}); 

라이브 데모 : 다음 $.each 콜백의 첫 번째 인수는 속성의 이름을 포함

http://jsfiddle.net/simevidas/SKZKv/

+0

질문을 업데이트하여보다 관련성 높은 질문을 던집니다. – designermonkey

+0

@Designermonkey 답변을 업데이트했습니다. –

+0

Brilliant! 나는 정말로 알았어 야했다. 정수 반복자라고 생각했지만 핵심은 아닙니다. 고마워 v 많이! – designermonkey

0

당신은 당신이 그래서 우리는 더 나은 도움을 줄 수 있지만, 이런 식으로 뭔가를 할 수있는 필요한 이유를 설명하기 위해 잘 할 것입니다 :

var myVars = { 
    "myVar1": "Yaay", 
    "myVar2": "Yaay again" 
}; 

for(var a in myVars){ 
    alert("Variable name: "+a); 
} 
1

글로벌 변수에서만 작동하지만 window["myObj"]을 사용할 수 있습니다.

관련 문제