Сравнение объектов - PullRequest
       4

Сравнение объектов

2 голосов
/ 13 ноября 2009

Объект в Javascript имеет много свойств и получил этот код:

var div = document.getElementsByTagName ("div");

if (div [2] === div [2]) { оповещение ("..."); }

Здесь нет "id", "class", "name" или "value", так как же работает "div [2] === div [2]"? Какое свойство объекта JavaScript использует для сравнения?

Спасибо.

Ответы [ 3 ]

1 голос
/ 13 ноября 2009

Пока операнд LH и операнд RH имеют одинаковый тип, а ссылки на сравниваемые объекты одинаковы, значение будет истинным для оператора ===

1 голос
/ 13 ноября 2009

Сравнивает уникальные объекты DOM друг с другом. Каждый объект уникален. Единственный способ, которым объект может сравниться с другим объектом, - это если вы сравниваете ссылки на один и тот же точный объект.

new Object() === new Object() // false

x = new Object()
y = x

x === y // true, both variables point to the same object in memory.
0 голосов
/ 13 ноября 2009

просто сравните его с помощью идентификатора

if (document.getElementById ("div1") === document.getElementById ( "div2")) {

 //do somthing 

} еще {

// do something  

}

намного безопаснее и точнее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...