有什麼好處是用一個對象在它的一些東西,像部分對象VS獨立的對象
var cheese = {color: "bleu", smell: "bad", holes: false};
,而不是存儲相似的數據不同的對象,像
var cheeseColor = "bleu";
var cheeseSmell = "bad";
var cheeseHoles = false;
我知道原型和構造函數有更高級別的好處,但對於簡單的任務,它是否會產生重大影響?
有什麼好處是用一個對象在它的一些東西,像部分對象VS獨立的對象
var cheese = {color: "bleu", smell: "bad", holes: false};
,而不是存儲相似的數據不同的對象,像
var cheeseColor = "bleu";
var cheeseSmell = "bad";
var cheeseHoles = false;
我知道原型和構造函數有更高級別的好處,但對於簡單的任務,它是否會產生重大影響?
1.)最大的好處(在我看來)是動態變量處理。
假設您有一個對象,但它是通過AJAX加載的,或者這些變量不是由您製作的。無論哪種方式,你不知道它是什麼。
使用正常的變量,你搞砸了。結束。
但使用對象,你可以問他要什麼的用戶,以及與[]
操作,你可以得到價值:通過調用
getObjectParam("s")/
你得到5
var obj = {
s: 5,
c: "abc",
g: /hello/g
};
function getObjectParam(name) {
return obj[name];
}
然後。
這是一個非常簡單的用例。例如,當我需要存儲不同的矩陣時,我主要使用此功能。
2)傳遞他們
比方說,你有哪些需要的東西通過的lib的用戶配置庫。你可以創建一個接受一個對象的構造函數或一個函數,而不是創建一個構造函數或函數,而是使用它的值來設置所有內容。這不僅能夠使您能夠編寫較短的函數,而且還可以使用戶重新使用該對象,如果他想再次調用該函數。
我將添加到這個答案的另一個主要好處是當你有一個對象集合。一組對象比幾個並行數組更容易使用。 – Paulpro
@Paulpro將其作爲單獨的答案發布。不過,我認爲,無論如何,這將是幾分鐘內收集好的答案。 –
不,它對於一些變量並沒有太大的區別,但這完全取決於您打算如何使用該數據。 – adeneo
取決於您的實際需求。 –
我能想到的事情:1)更容易將對象作爲參數傳遞給函數; 2)邏輯分組 –