2017-02-22 9 views
1

Je fais un détecteur de collision en JavaScript. Je veux faire une structure en arbre pour pouvoir faire un objet complexe.Identification d'objet en javascript

Il y a un grand tableau et tous les objets, y compris les enfants, font partie du tableau. Certains d'entre eux sont des enfants et d'autres sont des parents. Chaque objet a une propriété children, parent et root et si une collision se produit, il fait une bulle jusqu'au parent.

J'ai trouvé deux façons d'identifier les objets.

  1. objets ID

    Donner
  2. objet Citation directement comme "node1.root = someOtherObject".

Je veux aussi savoir ce qui est plus rapide

//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

Il ne sera probablement pas faire beaucoup de différence, le cas échéant. Je dirais juste utiliser ce que vous pensez être le plus facile à maintenir et le plus lisible. – elclanrs

+0

deux objets ne peuvent pas être égaux '{} === {}' sortie 'false'. Donc, pensez à donner la propriété dans l'objet. – Jai

+0

La différence de performance sera négligeable. Je pense que la comparaison des références d'objets est techniquement la bonne solution, mais il se peut que vous ayez aussi besoin d'identifiants à des fins de débogage. Voir [this] (http://stackoverflow.com/a/886053/74757) pour plus d'explications. –

Répondre

1

Les deux seront même en ce qui concerne la performance. S'il vous plaît vérifier le lien ci-dessous.

http://jsben.ch/#/Y9jDP