Что возвращает if (число)? - PullRequest
0 голосов
/ 20 ноября 2018

Кажется, мне трудно понять, что это делает с моим кодом?

const $counters = $('.js-item-counter')
if($counters.length)
{

}

Что бы это могло произойти, если выражение вернулось?

Я могу сказать, что значение равно 1,но имеет ли это смысл?

Я пытаюсь исправить некоторые проблемы с веб-интерфейсом и столкнулся с чем-то вроде этого ..

Ответы [ 6 ]

0 голосов
/ 20 ноября 2018

если целевой элемент обозначает целое число, имеющее начальное значение 1, то вы должны сделать это следующим образом

if($counters > 1)
{
//note length is only for checking of element existance
}
0 голосов
/ 20 ноября 2018

Возвращает true, если число внутри оператора if больше или равно 1, и false, если оно равно 0.

0 голосов
/ 20 ноября 2018

Оператор if будет возвращать true или false в зависимости от условия.Если $ counters.length> 0, он вернет true, и если блок будет выполнен.В противном случае он вернет false и блок не будет выполнен.

0 голосов
/ 20 ноября 2018

длина приведена к true для любого длина , кроме 0 и false для 0:

console.log(
  !!0,
  !!1,
  !!10
);
0 голосов
/ 20 ноября 2018

Это простой тест, чтобы увидеть, существуют ли какие-либо элементы этого класса. Использование длины объекта jQuery является наиболее распространенным подходом jQuery для подсчета совпадений в коллекции

Если это что-то отличное от нуля, то это правда, а ноль - ложь

Раньше был метод size(), но он устарел, и если вы читаете в его документах, он говорит вам использовать length вместо

0 голосов
/ 20 ноября 2018

В Javascript 0 - это значение falsey . Все, кроме 0 считается true.

Итак, что делает ваш код, так это удостоверяется, что $counters присутствует в DOM, потому что если бы он был, он бы дал длину> 0.

Свойство

.length сообщает, сколько элементов данного селектора присутствует в DOM. Если это 0, то элемент отсутствует. Если оно больше 0, то элемент присутствует, и вы можете действовать по своему усмотрению.

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