一、脚本运行时机
浏览器加载页面时,会运行一切非声明函数。
举例:
<script type="text/javascript">
var v=null;
document.write("<h1>This is a heading</h1>");
//insert javascript code here.
function fn()
{
alert("Hello!")
}
</script>
页面是从上至下解析的,页面加载时,脚本的1、2行会被执行,fn()这类声明函数ignore。(声明函数一般作为onload()、onclick()等事件响应函数执行)
二、ready和onload的区别
一般页面响应加载的顺序是:域名解析-加载html-加载js和css-加载图片等资源文件。
ready所处的阶段为html加载结束,即所有的所有标签加载完成,DOM树完成构建。(此时仅仅是标签完成加载,包括标签属性及标签体,相关链接资源并未获取,如js、css、图片)。此时便可以调用DOM API进行DOM操作,jquery就是在这个阶段工作。
使用方法:
$(document).ready(function(){
//do something
})
//jQuery的默认参数是:“document”,所以可以简略为:
$().ready(function(){
//do something
})
//更简洁的:
$(function(){
// do something
});
onload所处阶段为所有资源加载结束,即onload在ready之后。涉及到资源操作要在这个阶段进行。