书上说应该把js代码放在head部分,但是我看到很多 jsp 代码中都把javascript代码放在最后也没有问题,这个怎么回事
而且我打开新浪新闻首页这些很大的网页时一部分一部分显示的,js代码应该在前面才行吧

解决方案 »

  1.   

    少量的js可以放在前面 ,一般放在需要用的位置就行了
    js会影响页面加载,所以一般放到body后更好
      

  2.   

    但是如果一个body中调用了一个函数,但是这个函数在body之后才定义,那就会找不到这个函数的定义吧
      

  3.   

    即使是body的onload事件,js放到页面之后仍然可以执行:
    你看:</head>
    <body onload="fun()">
    <div id="oldc">
    字符串1
    字符串2
    字符串3
    ……
    字符串N
    </div>
    <br />
    <div id="newc">
    <a href="test.html" target="_blank" onclick="closeWin()">首页</a>
    </div>
    </body>
        <script type="text/javascript">
        function fun() {
    alert("s");
        }
    //一般不建议在html标签中调用 事件,可以直接写成window.onload=fun;
        </script>
    </html>
      

  4.   

    对于那些用于当前页面显示的js,你必须把它放到调用之前;而那些只有当你进行页面操作时才调用的js,你就可以把它放到后面。这样它就会在页面显示之后操作调用之前加载。这样既可以不影响你的页面显示速度又不影响你接下来的操作。
      

  5.   

    下面是javascript中的一段,我执行了只显示了
    This is the first text the user will see
    没有弹出框<html>
    <head>
    <title>title</title>
    </head>
    <body>
    <script>
    sayHi();
    </script>
    <p>This is the first text the user will see</p>
    <script>
    function sayHi()
    {
    alert("Hi");
    }
    </script>
    </body>
    </html>
    但是把函数定义放在head里面就有弹出框了
    <html>
    <head>
    <title>title</title>
    <script>
    function sayHi()
    {
    alert("Hi");
    }
    </script>
    </head>
    <body>
    <script>
    sayHi();
    </script>
    <p>This is the first text the user will see</p>
    </body>
    </html>
      

  6.   

    你的
    <script> 
    function sayHi() 

    alert("Hi"); 

    </script> 
    方法放在body中,你调用也在body中,调用的时候,这个方法还未被加载,自然没效果!
    楼主得搞清楚程序执行的顺序!
      

  7.   

    不放head照样执行的~~<html> 
    <head> 
    <title>title </title> 
    </head> 
    <body> 
    <p>This is the first text the user will see </p> </body> 
    </html>
    <script> 
    function sayHi() 

    alert("Hi"); 

    </script> 
    <script> 
    sayHi(); 
    </script> 
      

  8.   

    一般都放在head标签后 也可以根据需求放在body后