2017-08-26 56 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

別的甚至[]{}將被強制爲真值。

相關問題