这已经太晚了,我的脑子现在正在消隐,但是假设我有变量filename
并且它存储了另一个变量marker
的名称。变量marker
是一个数组,包含对象&财产position: new google.maps.LatLng(42.2550,-114.3221)
。
我一直愚蠢地试图通过filename.position
访问它,当然这会返回undefined,因为它在文字filename
中搜索不存在的'position'属性。
但是如何使用marker.position
来提取filename
?是否有一些漂亮的jQuery技巧,呃,'解析'变量到它的内容?我被大脑炒了。我知道我以前做过这个。
答案 0 :(得分:2)
如果在您的脚本中可以,您可以将数据不仅存储在变量中,而且存储在某个对象的属性中(通常使用全局数据更方便)。 例如
var myObj = {};
myObj.marker = new google.maps.LatLng(42.2550,-114.3221); // or anything else
然后,您将能够使用如下变量获取此属性:
myObj[filename].position
在这种情况下,我还建议使用myObj[filename]
结构检查typeof
存在,以确保myObj
中存在此类属性。
if (typeof myObj[filename] !== "undefined") {
// do something
}
正如apsillers所指出的那样,你也可以使用全局window
对象。但是,如果您的marker
变量是在其他功能中定义的(即非全局),则无法使用window.marker
访问它或window[filename]
,因为它将超出范围。
第二种方法是使用eval()函数,我强烈建议避免。
答案 1 :(得分:0)
试试这个:
window[filename].position;