2011-08-10 101 views
0

這是一個愚蠢的問題,但這是js中的一個對象數組?js中的對象數組?

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

如果是這樣,我怎麼聲明一個新的..我不認爲

var test = new Object(); 

var test = {}; 

是一樣的我上面的例子。

+0

要創建使用括號中的文字數組:'變種試驗= [1,2,3];' – Jeremy

+1

這可以進一步混淆你,或者它可以使一些點擊你。 ..這是一個數組,內有1個對象'var test = [{}];' –

+0

Yeh!這是一個愚蠢的問題!爲什麼不只是谷歌? – VJAI

回答

9

編號
這是一個具有三個屬性的對象。

對象常量僅僅是創建一個空的對象,並指定屬性的快捷方式:

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

有時也被稱爲具有三個條目的地圖。 –

0

沒有,test的對象。你可以參考它的實例變量,像這樣:

var myname = test.Name; 
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(); 

的對象,您可以改變這樣的

​​

屬性可以創建對象的數組這樣

myArray = [test, test2]; 

myArray[1].married = true; 
4

不,它是一個對象。

您可以創建對象的一個​​這樣的數組:

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

用於創建新的對象或數組我會推薦這句法:

var myArray = []; 
var myObject = {}; 
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 
+0

alert(typeof new Array()); // Object – veidelis

+0

@veidelis http://nfriedly.com/techblog/2009/06/advanced-javascript-objects-arrays-and-array-like-objects/ – AlienWebguy