我似乎很难理解这对我的代码有什么作用?
const $counters = $('.js-item-counter')
if($counters.length)
{
}
这条if语句返回什么?
我可以判断该值为1,但这有意义吗?
我正在尝试解决一些前端问题,并遇到了类似问题。
答案 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
}