如果要获取所有密钥,则可以使用ECMAscript5
Object.keys。只有较新的浏览器才支持此功能,但MDC文档提供了另一种实现方式(也使用
for...inbtw):
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;}当然,如果您想要键和值,那么这
for...in是唯一合理的解决方案。



