2014-01-26 5 views
0

Я ищу, чтобы узнать, есть ли лучший способ написать следующий оператор if?JavaScript Если проверка оператора для ключа объекта

function addGestureendEvent(el) { 
    if (el.addEventListener && !el.eventListenerAdded) { 
     el.addEventListener('gestureend', doSomething, false); 
      el.eventListenerAdded = true; 
     } 
    }; 

Будет ли я лучше четко проверять правильность? Например»

if (el.addEventListener && el.hasOwnProperty(‘eventListenerAdded’) { 
    … 
} 

Спасибо за любые рекомендации.

+0

Они делают несколько разные вещи. вам нужно? Вы действительно должны избегать унаследованных свойств или нет? Вам нужно проверить значение или его существование? –

+0

@cookiemonster Только его существование – Dom

ответ

0

Строго говоря, да, вы должны использовать el.hasOwnProperty("eventListenerAdded"). То есть, я обычно не беспокоить. Если вы используете достаточно содержательный и, скорее всего, уникальное имя, вы здесь, вы должны быть в порядке. Вы можете даже добавить свой собственный префикс, например, _dom_eventListenerAdded, чтобы будущие разработчики знали, что вы спросите об этом, если они смущены;)

Смежные вопросы