急,请问javascript运行顺序的问题?

来源:百度知道 编辑:UC知道 时间:2024/07/05 19:42:33
急急急,请问javascript运行顺序的问题?
<script language="javascript">
window.onload=function(){
var kk=document.getElementById("textone");
alert(kk.outerHTML);
}
</script>

<div id="textone">
<p>sss<em>ddd</em>sss</p>
</div>

这段代码是先运行javascript脚本还是先运行html

如果说先运行javascript的话,那么为什么还可以弹出kk.outerhtml

如果说先运行javascript的话,那么就是说在html之前先运行javascript代码,而html还没运行,

那么document.getElementById("textone")怎么能找到文档的dom呢?我下面的html还没运行啊

先运行javascript完之后,才运行html,为什么运行javascript的时候还没运行html,

javascript的document.getElementById("textone")就可直接找到html的dom了,怎么回事啊?

-----------------------------------------------------------------------------------------------------

第二个问题:

<div id="textone">
<p>sss<em>ddd</em>sss</p>
<

首先你要知道onload的功能是什么.是当一个页面或是一张图片加载完成时被触发。你看你的触发条件.是window.onload.那是什么意思.就是你的窗口被加载完成后调用onload方法.所以不管你把你的js放在什么地方都是一样的效果.执行顺序也是一样的.先加载html,再运行js.
若你想知道区别.你可以先
<script language="javascript">
function myload(){
var kk=document.getElementById("textone");
alert(kk.outerHTML);
}
</script>
<div id="textone" onload="myload">
<p>sss<em>ddd</em>sss</p>
</div>
这样实验.或者再按照你的想法换换js的位置.

html的顺序是从头加载到尾..你可以下载个js调试器,单步运行一下.或者用土办法.在代码中打一堆的alert就知道运行也加载顺序了.

html里,解析顺序是按从上到下来执行的,
不过存在外部js和css时,会存在因为js
或css文件比较大,加载延迟的情况
(也就是外部的js或css文件可能不完全加载)

ps:外部的js或css文件较小时,一般不存在这个问题