2013-02-19 3 views

ответ

1

В if тесты, которые obj.length числовой и не NaN. Правая часть всегда является числом (или NaN, если obj.length не может быть интерпретировано как число). Это будет только === с левой стороны, если obj.length также является номером.

Обратите внимание, что использование isNaN не будет работать, если obj.length - это числовая строка; есть isNan("3") возвращение товара false. Отметим также, что NaN === NaN является falseNaN никогда не === ни к чему.

+1

Итак, в чем же смысл сравнивать свойство .length одного и того же объекта, как «принудительное число» и некогда? что это делает? – alnafie

+0

@alnafie - Мне нужно посмотреть на код, который нужно знать, но мое первоначальное предположение было бы в том, что это ворота вокруг кода, который либо требует, чтобы 'obj.length' был числом, либо каким-то дорогим кодом для вычисления' obj.length 'который должен быть пропущен, если он уже настроен правильно. –

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