2017-08-26 19 views
0

我可以做我可以在if子句中使用node.childNodes吗?

if (node.childNodes) { 
    // do something 
} 

,而不是

if (node.hasChildNodes()) { 
    // do something 
} 

我试了一下,和它的作品。我在其中有东西的div元素上尝试!div.childNodes,这返回了布尔值false。它看起来像在工作,但是我在这里忽略了哪些陷阱?

+0

https://developer.mozilla.org/en/docs/Web/API/Node/hasChildNodes – zynkn

+1

您的意思是'!! div.childNodes'获得boolean'true'吗? – xmike

+1

尽管无论如何它将返回空列表真 – xmike

回答

3

没有,但是:

if (node.childNodes.length) 
0

你可以把if语句作为条件,JavaScript就尝试将其强制为布尔值几乎任何东西。一切都在if语句将被强制转换为truthy值,以下情况除外:

  1. false
  2. null
  3. undefined
  4. ''
  5. NaN

别的甚至[]{}将被强制为真值。

相关问题