if(数字)返回什么?

时间:2018-11-20 06:13:57

标签: javascript if-statement

我似乎很难理解这对我的代码有什么作用?

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

}

这条if语句返回什么?

我可以判断该值为1,但这有意义吗?

我正在尝试解决一些前端问题,并遇到了类似问题。

6 个答案:

答案 0 :(得分:2)

在Javascript中,0 falsey 值。 0以外的任何内容都被视为true

因此,您的代码正在执行的工作是确保DOM中存在$counters,因为如果存在.length,则其长度将> 0。

{{1}}属性告诉您给定选择器在DOM中有多少个元素。如果为0,则表示该元素不存在。如果大于0,则表示存在该元素,您可以根据需要对其进行操作。

答案 1 :(得分:1)

这是查看该类是否存在任何元素的简单测试。使用jQuery对象的长度是最常见的jQuery方法,用于计算集合中的匹配项

如果它不是零,那就是真实的,而零是虚假的

曾经有一个size()方法,但该方法已被弃用,如果您阅读它的文档,它会告诉您使用length代替

答案 2 :(得分:1)

length 强制为除0以外的任何 length true false 强制为0:

console.log(
  !!0,
  !!1,
  !!10
);

答案 3 :(得分:1)

if语句将根据条件返回true或false。 如果$ counters.length> 0,它将返回true,并且将执行block。否则,它将返回false并且不会执行阻止。

答案 4 :(得分:1)

如果if语句中的数字大于或等于1,则返回true;如果为0,则返回false。

答案 5 :(得分:1)

如果目标元素代表初始值为1的整数,那么您应该这样做

if($counters > 1)
{
//note length is only for checking of element existance
}