如何遍歷一個對象的屬性?

比如navigator對象,有appName,appCodeName,appVersion,platform,userAgent這幾個屬性。
我將這幾個屬性保存在一個數組中:
var nav=[appName,appCodeName,appVersion,platform,userAgent];
然後navigator.nav[1]這樣爲什麽不行呢?

阅读 3.2k
5 个回答

当你明确知道一个对象 a 具有属性 b,才可以 a.b 使用。

另一种情况是你需要动态使用一个对象的某个属性:

var a = { b: 'bb'};
var c = 'b';
console.log(a[c]);

虽然 c 保存了一个属性名,但是 a 没有 c 这个属性,a.c 中的 c 是个固定值。
a[c] 中的括号会计算其中的变量得到 a['b']

所以你应该写成 navagator[nav[1]]

说两点:
1、 不是navagator對象,是Navigator;
2、 你数组里存的都是变量;

var nav=["appName","appCodeName","appVersion","platform","userAgent"];
新手上路,请多包涵
    var nat = navigator;
    var nav=[nat.appName];
    console.log(nav[0]); 

即可调取

Object.keys(要遍历的对象)
返回值就是该对象可枚举的属性.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题