var p = "p1": "value1", "p2": "value2", "p3": "value3"};for (var key in p) if (p.hasOwnProperty(key)) console.log(key " -> " p[key]); }} ! C3 g! F* i) d/ y Z- E
使用 Object.keys() 替代方案: * g* V5 a9 G7 y: _- O) T
var p = 0: "value1", "b": "value2", key: "value3"};for (var key of Object.keys(p)) console.log(key " -> " p[key])} 0 C- ^+ B+ p3 C+ G ?7 K
Run code snippet 3 ^2 F5 f/ e: Z6 {( V+ EExpand snippet # R+ a, M! o$ U注意使用for-of而不是for-in,如果不使用,它将返回未定义的命名属性,并且Object.keys()确保只使用对象本身的属性而不使用整个原型链属性: c' h) y! f; h! }& A9 I- M 使用新Object.entries()方法:* T2 _3 @. ?+ p- t" r1 e8 d: q 注意: Internet Explorer 本身不支持此方法。您可以考虑为旧版浏览器使用 Polyfill。 , ?! m) p( l! M0 b