这段代码(JS)有什么区别?

tft*_*ftd 1 javascript firebug

我想知道这段代码有什么区别:

var c = [{"test": 1}];
Run Code Online (Sandbox Code Playgroud)

和这段代码

var c = {"test": 1};
Run Code Online (Sandbox Code Playgroud)

Firebug说它们都是对象,但如果你用第一个例子做console.log(c.test),它将返回"undefined".所以我有点想知道这一切是什么以及如何访问第一个例子?

Dar*_*rov 8

第一个是包含一个元素的数组,该元素是{"test": 1}对象,而第二个是{"test": 1}对象本身.

因此,第一个你可以c[0].test用第二个你可以c.test.