为什么写在函数外的话显示出来的是undefined,不应该是全局对象吗?
var bodyNode = document.getElementsByTagName("body")[0]; function createNode(){
alert(bodyNode);
}

解决方案 »

  1.   

    执行var bodyNode = document.getElementsByTagName("body")[0];的时候body还没有加载完吧
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>test</title></head><body></body>
    <script>
    var bodyNode = document.getElementsByTagName("body")[0];function createNode(){ 
    alert(bodyNode);
    }
    createNode()
    </script>
    </html>
      

  2.   


    同上,先看看document.getElementsByTagName("body")是不是undefined
      

  3.   

    因为HTML在读HTML代码是是逐条读写的,
    到它读var bodyNode = document.getElementsByTagName("body")[0];
    这段代码时你没有加载body,所有为null