我可以吗
if (node.childNodes) {
// do something
}
而不是
if (node.hasChildNodes()) {
// do something
}
我试过了,它有效。我在div元素上尝试了!div.childNodes
,里面有东西,这返回了布尔值false
。它看起来像是在工作,但是有没有我在这里俯瞰的陷阱?
答案 0 :(得分:3)
不,但是:
if (node.childNodes.length)
答案 1 :(得分:0)
你可以将if子句中的任何内容放入条件中,javascript会尝试将其强制转换为布尔值。除了以下内容之外,if子句中的所有内容都将被强制转换为真值:
false
null
undefined
''
NaN
除了[]
之外的任何其他内容,{}
都会被强制转换为真实值。