jQuery: Могу ли я аннулировать! = 0 для проверки длины?

Мне интересно, если код

var $d = $('#person_data[document_type]');
if ($d.length != 0) {
  if ($d.val().length != 0 ) {...}
}

который был взят из SO jQuery: проверка того, значение поля равно null (пусто) является лучшим из лучших?

Могу ли я использовать

var $d = $('#person_data[document_type]');
if ($d.length) {
  if ($d.val().length) {...}
}

вместо?

Какой лучше?


person Haradzieniec    schedule 24.01.2013    source источник
comment
Итак, какой ответ среди ответов правильный? :)   -  person Haradzieniec    schedule 24.01.2013
comment
Вы всегда можете просто сделать var $d = $(element).val(); if ($d && $d.length) { ... }, так как мне это кажется проще -› FIDDLE...   -  person adeneo    schedule 24.01.2013


Ответы (1)


Второй пример хорош, он полагается на то, что 0 равен falsey. Это сэкономит несколько дополнительных байтов, передаваемых по сети, что всегда хорошо. Два сценария приведут к одному и тому же результату, поэтому я бы выбрал более краткий.

person Kevin Bowersox    schedule 24.01.2013