2010-09-05 97 views
2

我剛剛聽說過JavaScript對象,並想知道它們是什麼(因爲我找不到任何信息)以及它們的用途。什麼是JavaScript對象,它們什麼時候有用?

我真的只是需要幫助。抱歉,我是初學者。

+0

「out there」在哪裏? – 2010-09-05 01:16:00

+0

這是關於JSON或一般對象的問題嗎? – 2010-09-05 01:16:24

+1

你能更具體嗎?如果你想在JavaScript中提供對象列表 - 你去:http://www.devx.com/projectcool/Article/19993 – Sorantis 2010-09-05 01:18:13

回答

6

除了少數基本類型(數字,字符串,布爾值,null和未定義)之外,所有東西都是JavaScript(甚至函數)中的對象。

對象基本上是屬性的容器,這對於收集和組織數據非常有用。

一種流行的方法創建對象是使用對象的文字符號:

var emptyObject = {}; 

var myFirstObject = { 
    'name': 'Bobby', 
    'surname': 'Smith' 
}; 

各地的屬性名引號是可選的,如果名稱將是一個合法的JavaScript標識符,而不是保留字。屬性的名稱可以是任何字符串。對象可以包含其它對象,因此它們可以很容易地表示的樹或圖:

var myFlight = { 
    'airline': 'Airline Name', 
    'number': 'AN700', 
    'departure': { 
     'IATA': 'SYD', 
     'time': '2010-09-04 23:10:00' 
    }, 
    'arrival': { 
     'IATA': 'LAX', 
     'time': '2010-09-05 05:14:00' 
    }  
}; 

JavaScript對象也恰好是一個方便的hash table數據結構。你可以很容易地做到以下幾點:

var myHashTable = {}; 
myHashTable['name'] = 'Bobby'; 
myHashTable['surname'] = 'Smith'; 
alert(myHashTable['name'] + ' ' + myHashTable['surname']); 

這絕對不是一個詳盡的答案,但我希望它會做進一步的研究,當你朝着正確的方向發展。

+0

這正是我所說的。對象有什麼特別之處(你在代碼中顯示的類型)? – chromedude 2010-09-05 01:32:44

+0

@Daniel Vassallo感謝您的更新。我現在明白了。 – chromedude 2010-09-05 01:37:37

+0

@chromedude:再次更新。提到了散列表,這非常有用。 – 2010-09-05 01:40:41

1

好,最好的信息源是ECMAScript規範(當然):)

在JavaScript中有6種類型的....其中5是原始的和第六類型是對象。對象是所有函數,所有數組,主對象(如窗口對象,文檔對象,每個DOM節點),內置的構造函數對象(Date,Error,...),其他內置對象(Math,JSON )...

當有人說JavaScript對象時,通常他是指ECMAScript規範第15章中定義的本地對象。

1

簡短回答:如果你用「一切都是一個物體」的話來說,它會有所幫助。

較長的答案:

JavaScript有「數據」(例如,您的變量「約翰」和它所包含的值)和「功能」(即對數據採取行動的Javascript代碼位)。

「對象」是一種將「數據」和「功能」結合在一起的編程結構。 「對象」是一個比「數據」或「功能」分開考慮的更強大的結構。例如,「形狀」對象(「對象類」)可能知道如何「繪製」自己(「對象方法」),而不管它是「方形」,「圓形」還是「圓形」 「三角形」(所有「對象實例」)。

正如Daniel Vassallo在上面指出的那樣,「對象」也可以是「屬性的容器」。

'Hope that helps