2011-09-21 108 views

回答

3
for(var i in obj) alert(i);//the key name 
0

一个残酷的方法是在对象上使用.toString,然后提取名称。但我敢肯定会有更好的办法:)

4
var obj = { 
    property: "value" 
}; 

for (var key in obj) { 
    if (obj.hasOwnProperty(key)) { 
     alert("key = " + key + ", value = " + obj[key]); 
    } 
} 
0

使用Object.keys()[docs]

var key = Object.keys(my_obj)[ 0 ]; // "property" 

它返回该特定对象(不是其原型链)中的可枚举键的数组。


要支持旧版浏览器,请包括MDN文档中提供的兼容性填充。

if (!Object.keys) { 
    Object.keys = function (o) { 
     if (o !== Object(o)) throw new TypeError('Object.keys called on non-object'); 
     var ret = [], 
      p; 
     for (p in o) if (Object.prototype.hasOwnProperty.call(o, p)) ret.push(p); 
     return ret; 
    } 
} 
相关问题