2012-11-24 11 views
2

我有一个从JSON解析的对象,并且它始终只包含一个属性,但此属性的名称(即密钥名称)会因每个JSON msg而发生更改。访问IE8中对象的唯一属性+

在IE9 +等现代浏览器,我可以使用:

value = msg[Object.keys(msg)[0]]; 

访问此属性的值。但是,IE8不支持keys,那么访问该值的完全兼容方式是什么?

回答

4

你可以定义这样一个函数:

function getVal(obj) { 
    for (var key in obj) return obj[key]; 
} 

,然后做

value = getVal(msg); 
+0

当心,如果你这样做扩展对象原型的。使其与扩展的Object.prototype一起工作,我会赞成。 –