比如navigator對象,有appName,appCodeName,appVersion,platform,userAgent這幾個屬性。
我將這幾個屬性保存在一個數組中:
var nav=[appName,appCodeName,appVersion,platform,userAgent];
然後navigator.nav[1]這樣爲什麽不行呢?
var nav=["appName","appCodeName","appVersion","platform","userAgent"];
说两点:
1、 不是navagator對象,是Navigator;
2、 你数组里存的都是变量;
当你明确知道一个对象 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]]
Object.keys(要遍历的对象)
返回值就是该对象可枚举的属性.
var nat = navigator;
var nav=[nat.appName];
console.log(nav[0]);
即可调取