2017-02-22 83 views
1

我在JavaScript中制作了一个碰撞检测器。我想制作一个树形结构,这样我就可以制作一个复杂的物体。javascript中的对象标识

有一个大数组,包括子元素在内的所有对象都是数组的一部分。 其中有些是孩子,其他人是父母。每个物品都有children,parentroot属性,如果发生碰撞,它会冒泡到父级。

我想出了两种识别物体的方法。

  1. 给对象的ID

  2. 引用对象直接像"node1.root = someOtherObject"

我也想知道这是更快

//1 
if(object1.root === root.id){/*code here*/}//id based identification (literally) 
     //19253 === 19253 

//or 2 
if(object1.root === root){/*code here*/}//object based identification 
    //[Object] === [Object] 
+0

它可能不会有太大的区别,如果有的话。我会说只是使用你认为最容易维护和最易读的东西。 – elclanrs

+0

两个对象不能相同'{} === {}'输出'false'。所以考虑给对象赋予属性。 – Jai

+0

性能的差异可以忽略不计。我认为比较对象引用在技术上是正确的路要走,但是你最终可能最终只需要调试目的。有关详细解释,请参阅[this](http://stackoverflow.com/a/886053/74757)。 –

回答