最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS代碼放在head和body中的區(qū)別分析

 更新時(shí)間:2011年12月01日 00:02:08   作者:  
放在head中的JS代碼會(huì)在頁(yè)面加載完成之前就讀取,而放在body中的JS代碼,會(huì)在整個(gè)頁(yè)面加載完成之后讀取
那么有什么不同呢?先看一個(gè)例子:
一個(gè)二級(jí)級(jí)聯(lián)動(dòng)態(tài)下拉列表框,一級(jí)分類(即大類別)id="vSort0".
復(fù)制代碼 代碼如下:

<head>
function changelocation(id)
{…………}
</head>
<body><select class="input1" id="vSort0" name="vSort0" onChange="changelocation(document.form4.vSort0.options[document.form4.vSort0.selectedIndex].value);" style="width:100px;">……省略……</select>
………………
</body>

現(xiàn)在有個(gè)js腳本:
復(fù)制代碼 代碼如下:

<script LANGUAGE= "JavaScript" >
changelocation(document.form4.vSort0.options[document.form4.vSort0.selectedIndex].value); //初始化第一個(gè)一級(jí)分類的二級(jí)分類,去掉后第一個(gè)一級(jí)分類的二級(jí)分類在頁(yè)面載入之后不顯示。回選才顯示。將一級(jí)分類的value傳給changelocation()函數(shù),生成二級(jí)分類的列表
</script>

那么把這個(gè)js腳本放head里面還是body里面呢?
答案是不僅要放到body里面,而且還得放到定義id='vSort0'的列表框后面,因?yàn)檫@個(gè)js腳本中有document.form4.vSort0.selectedIndex,如果放到head里或者body的id='vSort0'前,頁(yè)面加載后順序執(zhí)行代碼,執(zhí)行到這個(gè)js發(fā)現(xiàn)vSort0未定義(即undefind),這個(gè)js也就失去了作用。
而為什么我們經(jīng)常看到有很多的人把js腳本放到head里面沒(méi)事呢?對(duì)!
就是因?yàn)槟憧吹降脑趆ead里的js代碼有onclick等事件傳遞了變量給函數(shù)。
這就告訴我們,如果我們想定義一個(gè)全局對(duì)象,而這個(gè)對(duì)象與頁(yè)面中的某個(gè)按鈕(等等)有關(guān)時(shí), 我們必須將其放入body中,道理很明顯:如果放入head,那當(dāng)頁(yè)面加載head部分的時(shí)候,那個(gè)按鈕(等等)都還沒(méi)有被定義(也可以說(shuō)是還沒(méi)有被加 載,因?yàn)榧虞d的過(guò)程就是執(zhí)行代碼的過(guò)程,包括了定義),你能得到的只可能是一個(gè)undefind。

相關(guān)文章

最新評(píng)論

西昌市| 乌苏市| 化州市| 新乡县| 德惠市| 繁峙县| 秦皇岛市| 望都县| 荔波县| 濉溪县| 綦江县| 盘锦市| 房产| 新乡市| 明光市| 太仓市| 凌源市| 九江县| 从化市| 德昌县| 惠东县| 阜新市| 成都市| 板桥市| 兴文县| 邓州市| 巴林右旗| 苗栗市| 太康县| 连山| 桐庐县| 岢岚县| 龙陵县| 济阳县| 江西省| 汶川县| 兰坪| 黑山县| 淅川县| 保定市| 屏东县|