为什么 body 标记后的脚本标记在子节点中计数

why script tag after body tag counts in childNodes

这是一个简单的HTML和JS代码,但是为什么脚本标签在body标签之后,算作body的子节点! ?

我正在 FF 35 中尝试

<!DOCTYPE HTML>
<html>
    <head>
    </head>
    <body id='body'>This is only text node</body>
</html>

<script>
    var b;
</script>
<script>
    var b = document.getElementById('body');
    console.log(b.childNodes.item(3).textContent);
</script>

正如其他人所指出的那样,脚本标签必须位于 HTML 标签内,否则浏览器会尝试为您修复它,但后果很严重。