js中的对象数组?

时间:2011-08-10 13:27:46

标签: javascript

这是一个愚蠢的问题,但这是js中的一系列对象吗?

var test = 
   { 
      Name: "John", 
      City: "Chicago",
      Married: false
   }

如果是这样,我如何宣布一个新的...我不认为

var test = new Object();  

var test = {}; 

与我上面的示例相同。

5 个答案:

答案 0 :(得分:9)

没有。
这是一个有三个属性的对象。

对象文字只是创建空对象和分配属性的快捷方式:

var test = { };   //or new Object()
test.name = "John";
test.city = "Chicago"
test.married = false;

答案 1 :(得分:4)

对象数组将是

myArray = [
    { prop1 : "val1", prop2 : "val2" },
    { prop1 : "A value", prop2 : "Another value" }
]

您可以像这样访问第一个对象的prop2属性

myArray[0].prop2

“如果是这样,我该如何宣布一个新的?”

要做我认为你想要的事情,你必须创建一个这样的对象

var test = function() { 
  this.name = "John"; 
  this.city = "Chicago";
  this.married = false;
}

var test2 = new test();

你可以改变像这样的属性

test2.name = "Steve";

您可以像这样创建一个对象数组

myArray = [test, test2];

myArray[1].married = true;

答案 2 :(得分:4)

不,这是一个对象。

你可以像这样创建一个对象数组:

var array_of_objects = [{}, {}, {}];

为了创建新对象或数组,我建议使用以下语法:

var myArray = [];
var myObject = {};

答案 3 :(得分:0)

不,test 对象。您可以像这样引用它的实例变量:

var myname = test.Name;

答案 4 :(得分:0)

这是一个对象,但您还必须了解数组也是javascript中的对象。您可以通过my_arr = new Array(); or my_arr = [];实例化一个新数组,就像您可以通过my_obj = new Object(); or my_obj = {};实例化一个空对象一样。

示例:

var test = [];
test['name'] = 'John';
test['city'] = 'Chicago';
test['married'] = false;
test.push('foobar');

alert(test.city); // Chicago
alert(test[0]);  // foobar