Я делаю детектор столкновения в JavaScript. Я хочу создать древовидную структуру, чтобы создать сложный объект.Идентификация объекта в javascript
Существует один большой массив, и все объекты, включая детей, являются частью массива. Некоторые из них - дети, а другие - родители. Каждый элемент имеет children
, parent
и root
собственности, и если происходит столкновение, оно пузырится до родителя.
Я придумал два способа идентификации объектов.
Дают объектов идентификаторы
Quote объект непосредственно, как
"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]
Вероятно, это не будет иметь большого значения, если таковые имеются. Я бы сказал, просто используйте то, что, по вашему мнению, является самым простым в обслуживании и наиболее читаемым. – elclanrs
два объекта не могут быть равны '{} === {}' output 'false'. Поэтому рассмотрим предоставление свойства в объекте. – Jai
Разница в производительности будет незначительной. Я думаю, что сравнение ссылок на объекты является технически правильным путем, но вы можете потерять иды, а не только для целей отладки. См. [This] (http://stackoverflow.com/a/886053/74757) для дальнейшего объяснения. –