2016-11-09 84 views
2

有什麼好處是用一個對象在它的一些東西,像部分對象VS獨立的對象

var cheese = {color: "bleu", smell: "bad", holes: false}; 

,而不是存儲相似的數據不同的對象,像

var cheeseColor = "bleu"; 
var cheeseSmell = "bad"; 
var cheeseHoles = false; 

我知道原型和構造函數有更高級別的好處,但對於簡單的任務,它是否會產生重大影響?

+0

不,它對於一些變量並沒有太大的區別,但這完全取決於您打算如何使用該數據。 – adeneo

+0

取決於您的實際需求。 –

+1

我能想到的事情:1)更容易將對象作爲參數傳遞給函數; 2)邏輯分組 –

回答

0

1.)最大的好處(在我看來)是動態變量處理。

假設您有一個對象,但它是通過AJAX加載的,或者這些變量不是由您製作的。無論哪種方式,你不知道它是什麼。

使用正常的變量,你搞砸了。結束。

但使用對象,你可以問他要什麼的用戶,以及與[]操作,你可以得到價值:通過調用

getObjectParam("s")/ 

你得到5

var obj = { 
    s: 5, 
    c: "abc", 
    g: /hello/g 
}; 
function getObjectParam(name) { 
    return obj[name]; 
} 

然後。

這是一個非常簡單的用例。例如,當我需要存儲不同的矩陣時,我主要使用此功能。

2)傳遞他們

比方說,你有哪些需要的東西通過的lib的用戶配置庫。你可以創建一個接受一個對象的構造函數或一個函數,而不是創建一個構造函數或函數,而是使用它的值來設置所有內容。這不僅能夠使您能夠編寫較短的函數,而且還可以使用戶重新使用該對象,如果他想再次調用該函數。

+0

我將添加到這個答案的另一個主要好處是當你有一個對象集合。一組對象比幾個並行數組更容易使用。 – Paulpro

+0

@Paulpro將其作爲單獨的答案發布。不過,我認爲,無論如何,這將是幾分鐘內收集好的答案。 –