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

时间:2017-08-26 14:23:32

标签: javascript

我可以吗

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

而不是

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

我试过了,它有效。我在div元素上尝试了!div.childNodes,里面有东西,这返回了布尔值false。它看起来像是在工作,但是有没有我在这里俯瞰的陷阱?

2 个答案:

答案 0 :(得分:3)

不,但是:

 if (node.childNodes.length)

答案 1 :(得分:0)

你可以将if子句中的任何内容放入条件中,javascript会尝试将其强制转换为布尔值。除了以下内容之外,if子句中的所有内容都将被强制转换为真值:

  1. false
  2. null
  3. undefined
  4. ''
  5. NaN
  6. 除了[]之外的任何其他内容,{}都会被强制转换为真实值。