Javascript 为什么我';我正在使用布尔对象进行未定义? 函数boo(arr) { 对于(var i=0;i

Javascript 为什么我';我正在使用布尔对象进行未定义? 函数boo(arr) { 对于(var i=0;i,javascript,Javascript,您无法在javascript中以这种方式比较布尔对象。新布尔(…)===false将始终计算为false 关于此事: 不要将基本布尔值true和false与布尔对象的true和false值混淆 例如(给定值=arr[i]),如果您需要查看某个内容是否真实,只需使用!!value。对于false,请使用!value。如果您需要查看某个内容是否真实true请使用value===true,对于false,同样适用于false,但不能使用布尔实例。您无法在Java中以这种方式比较布尔对象脚本。new B

您无法在javascript中以这种方式比较
布尔对象。
新布尔(…)===false
将始终计算为
false

关于此事:

不要将基本布尔值true和false与布尔对象的true和false值混淆


例如(给定
值=arr[i]
),如果您需要查看某个内容是否真实,只需使用
!!value
。对于false,请使用
!value
。如果您需要查看某个内容是否真实
true
请使用
value===true
,对于
false
,同样适用于
false
,但不能使用
布尔
实例。

您无法在Java中以这种方式比较
布尔
对象脚本。
new Boolean(…)===false
将始终计算为
false

关于此事:

不要将基本布尔值true和false与布尔对象的true和false值混淆


例如(给定
值=arr[i]
),如果您需要查看某事物是否真实,只需使用
!!value
。对于false,请使用
!value
。如果您需要查看某事物是否真实
true
请使用
value===true
,对于
false
,同样适用于
false
,但不要使用
布尔
实例。

您必须使用
operator@Legends当前位置没有这样的问题东西。那就是
操作符,应用了两次。当然……。bob是一个对象,对象只对自己
==
。也许你想要
var bob=Boolean(arr[i])
,即删除新的,这样您就得到了一个原语,而不是一个对象。@RobG感谢,即使它起了作用,您也必须使用
!!
operator@Legends:没有这样的东西。那就是
操作符,应用了两次。当然……。bob是一个对象,对象只对自己
==
。也许你想要
var bob=Boolean(arr[i])
,也就是说,删除新的,这样你就得到了一个原语,而不是一个对象。@RobG感谢,即使它确实起作用了,也可能想澄清一下,
value
这里是
arr[i]
,而不是
bob
。谢谢它起作用了:)你能告诉我我们什么时候使用吗!还有!!我以前从未使用过它,对它也不太了解。@caycospete
是NOT运算符,它接受任何虚假值并使其成为真实值(以及任何真实值并使其成为虚假值).
!!
只是2
它翻转了值,有效地将值转换为布尔值。您可以使用==而不是===它会工作,尽管这不可取,可能会导致混淆。您可能想澄清一下
这里是
arr[i]
,而不是
bob
。谢谢它工作了:)你能告诉我我们什么时候使用吗!还有!!我以前从未使用过它,对它也不太了解。@caycospete
是NOT运算符,它接受任何虚假值并使其成为真实值(以及任何真实值并使其成为虚假值).
!!
仅为2
,它翻转值,有效地将值转换为布尔值。您可以使用==而不是===,它会起作用,尽管这是不可取的,可能会导致混淆
function boo(arr)
{
for(var i=0;i<arr.length;i++)
 { 
   var bob = new Boolean(arr[i]);
   if(bob === false)
    {

     console.log(arr[i]);   

    }

 }
}
console.log(boo([0,"how",89,false]));