Javascript对象与原语

时间:2012-02-04 23:05:40

标签: javascript performance object coordinates primitive

我目前正在OOP Javascript中进行大量开发。 特别是,我正在处理坐标和维度很多,我定义了许多变量,作为对象,如下所示:

coords = {
    x:10,
    y:15
};

dimensions = {
    width:500,
    height:250
}

但我想知道将值指定为单独的原始变量是否更快/更有效:

coordX = 10;
coordY = 15;

dimWidth = 500;
dimHeight = 240;

请问有人请简单解释一下变量的每个方法的优缺点吗? 可用性方面,我发现对象更容易,因为您可以将相关值组合在一起;虽然我认为它比较慢。 但它比定义更多变量更慢,还是占用更多内存?

干杯。

修改 哇!我从没想过会有这么多回应,特别是这么快!谢谢大家的回复。

似乎任何性能差异都是可以忽略的,但这可能只适用于简单的脚本。 我所拥有的是一个恒定循环,需要以尽可能高的FPS运行。每个循环使用许多对象变量来存储数据,如上所述。那么在这些情况下是否存在性能问题?

2 个答案:

答案 0 :(得分:4)

您可以使用最适合手头问题的任何内容。

如果在代码中使用对象有意义,请使用一个。如果变量更有意义,请使用它们。

答案 1 :(得分:2)

性能应该不是问题 - 属性是在对象上声明的,并且访问它们不需要原型链(javascript引擎在这个领域也变得越来越高效)。

我个人更喜欢在这种情况下使用OO方法,因为它允许对值进行逻辑分组,这对于查看代码的任何其他开发人员来说都会更清楚(如果你像我一样,可能你在几个月的时间里!)。