84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
比如navigator對象,有appName,appCodeName,appVersion,platform,userAgent這幾個屬性。我將這幾個屬性保存在一個數組中:var nav=[appName,appCodeName,appVersion,platform,userAgent];然後navigator.nav[1]這樣爲什麽不行呢?
ringa_lee
当你明确知道一个对象 a 具有属性 b,才可以 a.b 使用。
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']。
c
a.c
a[c]
a['b']
所以你应该写成 navagator[nav[1]]
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(要遍历的对象)返回值就是该对象可枚举的属性.
当你明确知道一个对象
a
具有属性b
,才可以a.b
使用。另一种情况是你需要动态使用一个对象的某个属性:
虽然
c
保存了一个属性名,但是a
没有c
这个属性,a.c
中的c
是个固定值。而
a[c]
中的括号会计算其中的变量得到a['b']
。所以你应该写成
navagator[nav[1]]
说两点:
1、 不是navagator對象,是Navigator;
2、 你数组里存的都是变量;
即可调取
Object.keys(要遍历的对象)
返回值就是该对象可枚举的属性.