2017-09-07 15 views
0

我只用了一個月很抱歉,如果這是一個愚蠢的問題,但實際上有例如說除了組織之外,還有一點是使用對象屬性而不是變量嗎?

var object = { 
    x: x, 
    y: y, 
    z: z 
} 

而不是簡單地聲明價值爲變量的任何實際的好處

var x = x, y = y, z = z; 
+0

如果封裝變量,它們將不會干擾其他腳本。 –

+2

是的,使用一個對象有很多原因,但是如果一個變量做了這個工作,那麼你可能還沒有遇到過它。 – adeneo

+1

假設你的對象代表一個點。如果你需要兩點,你會怎麼做?還是100? –

回答

1

當您想要將元素組織在一起時,對象首先派上用場。

如果您在空間的位置時,您可以創建一個point,保持xy,並且z在一起:

var point = { 
    x: 0, 
    y: 1, 
    z: -2 
}; 

// Move 
point.x += 1; 

現在你有一個對象(point),告訴你一些有關本身。你不必記住哪些東西一起組成你的point,因爲它們在一起的對象。

他們變得更加重要,當你開始用陣列這些對象的,人們有時稱之爲集合(雖然不是每個人)工作。

var ships = []; 
// Add some points to the array 
ships.push(point1); 
ships.push(point2); 

現在每個 「船」 集合中有它自己的xyz

有很多地方可以使用var而不是對象屬性。其中大部分都在函數內部,在這個函數中需要保持一段時間的值,並且不需要其他人知道它。

相關問題