Javascript 数组和if语句
Javascript 数组和if语句,javascript,arrays,Javascript,Arrays,[]是数组。数组是对象。对象为true,因此[]为true。这没关系 但我无法理解其他结果 if([]){}//true if([]==true){}//false if([1]==true){}//true if([2]==true){}//false if([1,2]==true){}//false if(['Hi']==true){}//false if([{aaa:1}]==true){}//false []不是布尔值,而是数组。也就是说,空数组是布尔真数组。它不是,它是一个空数组 i
[]
是数组。数组是对象。对象为true,因此[]
为true。这没关系
但我无法理解其他结果
if([]){}//true
if([]==true){}//false
if([1]==true){}//true
if([2]==true){}//false
if([1,2]==true){}//false
if(['Hi']==true){}//false
if([{aaa:1}]==true){}//false
[]不是布尔值,而是数组。也就是说,空数组是布尔真数组。它不是,它是一个空数组
if([]){}将其计算为已定义且不为null
选中此项:
[]不是布尔值,而是数组。也就是说,空数组是布尔真数组。它不是,它是一个空数组
if([]){}将其计算为已定义且不为null
勾选此项:您可以在此处找到一些答案:
您可以在这里找到一些答案: 所有JavaScript对象都是真实的-它们都强制为布尔值
true
如果一个操作数是对象,而另一个操作数是布尔值,则两个操作数都强制为一个数值。空数组将强制为
0
:
if([]==true){}//false
这里也一样。对于包含一个项的数组,该项将强制为Number,并且该值将与另一个操作数进行比较:
if([1]==true){}//true
是:
如果数组有多个项,强制使用数字将导致
NaN
:
if([1,2]==true){}//false
if(['Hi']==true){}//false
if([{aaa:1}]==true){}//false
字符串强制为数值
NaN
:
if([1,2]==true){}//false
if(['Hi']==true){}//false
if([{aaa:1}]==true){}//false
对象还强制为数值
NaN
:
if([1,2]==true){}//false
if(['Hi']==true){}//false
if([{aaa:1}]==true){}//false
所有JavaScript对象都是真实的-它们都强制为布尔值true
如果一个操作数是对象,而另一个操作数是布尔值,则两个操作数都强制为一个数值。空数组将强制为
0
:
if([]==true){}//false
这里也一样。对于包含一个项的数组,该项将强制为Number,并且该值将与另一个操作数进行比较:
if([1]==true){}//true
是:
如果数组有多个项,强制使用数字将导致
NaN
:
if([1,2]==true){}//false
if(['Hi']==true){}//false
if([{aaa:1}]==true){}//false
字符串强制为数值
NaN
:
if([1,2]==true){}//false
if(['Hi']==true){}//false
if([{aaa:1}]==true){}//false
对象还强制为数值
NaN
:
if([1,2]==true){}//false
if(['Hi']==true){}//false
if([{aaa:1}]==true){}//false
同意-如果你不打算遵循“询问/回答/接受”的SO协议,不要指望别人会帮助你。(我们不希望100%接受,但0%是荒谬的)一个空数组
[]
强制执行数值0
,我相信。同意-如果你不遵守询问/回答/接受的SO协议,不要指望人们会帮你。(我们不希望100%接受,但0%是荒谬的)空数组[]
强制执行数值0
,我相信。这是正确的,尽管它没有解释为什么如果([1]==true){}//true
。据我所知,[1]
是1
这是true
这是正确的,尽管它没有解释为什么如果([1]==true){}//true
。据我所知,[1]
是1
,这是正确的
,这是好东西,有没有参考或简单的方法来测试强制正在发生什么?@Ryley只要看一下说明书:上面说得很好。强制规则是49.太好了,我只是想确定这个答案附带了一些信息:)这是好东西,有没有参考资料或简单的方法来测试我自己的强迫行为发生了什么?@Ryley刚看了说明书:上面说的很好。强制规则是49.太好了,我只是想确保信息附在这个答案上:)