作为字符串的对象名称
有没有什么办法在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);
})
该对象本身没有名称。如果你这样做:
var x = {};
那么对象将被创建和可变x
将不得不对它的引用。但是,该对象的名称不是'x'
。该对象是无名的。
甚至可以声明另一个变量,并设置其参照该相同的对象:
var y = x;
现在x和y包含到相同的(无名)对象的引用。
你想要的是根据其标识符名称对变量的名称进行字符串化。这是不能做到的。
更新:
的$.each
回调的第一个参数包含属性的名称:
$.each(markers.event, function(i, v) {
google.maps.event.addListener(marker, i, v);
});
我已经更新了这个问题,使其更加相关,可以从新问题中完成吗? – designermonkey 2011-03-14 20:03:16
@Designermonkey我已经更新了我的答案。 – 2011-03-14 20:10:21
太棒了!我应该知道真的。我认为这是一个整数迭代器,但它是一个关键不是它。非常感谢! – designermonkey 2011-03-14 21:45:30
你会很好地解释为什么你需要这个,所以我们可以帮助更好的,但你可以做这样的事情:
var myVars = {
"myVar1": "Yaay",
"myVar2": "Yaay again"
};
for(var a in myVars){
alert("Variable name: "+a);
}
您可以使用window["myObj"]
,尽管它只适用于全局变量。
它是不是这个名字的对象。它是变量的名称。有几个变量可以引用同一个对象。 – 2011-03-14 19:38:32
你为什么不问一个以你想要完成的事情为中心的问题? – Pointy 2011-03-14 19:39:05
你需要什么? – Kevin 2011-03-14 19:39:43