Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果(数字)返回什么?_Javascript_If Statement - Fatal编程技术网

Javascript 如果(数字)返回什么?

Javascript 如果(数字)返回什么?,javascript,if-statement,Javascript,If Statement,我似乎很难理解这对我的代码有什么影响 const $counters = $('.js-item-counter') if($counters.length) { } 如果这个语句返回,会发生什么 我可以看出值是1,但这有意义吗 我试图修复一些前端问题,但遇到了类似这样的问题。在Javascript中,0是一个错误的值。除0之外的任何内容都被视为true 因此,您的代码所做的是,它确保$counters存在于DOM中,因为如果存在,它将给出长度>0 .length属性告诉您DOM中存在给定选

我似乎很难理解这对我的代码有什么影响

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

}
如果这个语句返回,会发生什么

我可以看出值是1,但这有意义吗


我试图修复一些前端问题,但遇到了类似这样的问题。

在Javascript中,
0
是一个错误的值。除
0
之外的任何内容都被视为
true

因此,您的代码所做的是,它确保
$counters
存在于DOM中,因为如果存在,它将给出长度>0


.length
属性告诉您DOM中存在给定选择器的多少个元素。如果为0,则该元素不存在。如果大于0,则该元素存在,您可以根据自己的意愿对其进行操作。

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

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

以前有一种方法,但它已被弃用,如果您在其文档中阅读,它会告诉您使用
length
,length强制为true(除0以外的任何长度)和false(0):

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

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

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

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

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