2016-11-09 111 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将其作为单独的答案发布。不过,我认为,无论如何,这将是几分钟内收集好的答案。 –