在页面加载完成之后我们通常要进行一下初始化js操作,比如根据默认选项调整界面,检测驱动等。除了直接在js里调用函数外,还有几种方式指定函数运行时机。
一、ready()和onload()
-
jquery
的ready()
方法
$(document).ready(function(){...})
-
javascript
的onload()
方法
window.onload()=function(){...}
以下是对比:
\ | windo.onload() | $(document).ready |
---|---|---|
加载时机 | 图片等信息全部加载完成之后 | Dom结构加载之后,不用等图片 |
执行次数 | 文件中有多个此函数,最后一个覆盖所有 | 按顺序执行 |
简写 | 无 | $(function(){}) |
二、立即执行函数
创建完函数后立刻执行,和直接调用差不多。。。
(function(){
..
})()
三、js定时,延时
这两个应该不算是初始化,延时执行在特定情况下倒是可以用作初始化。比如初始化操作的节点可能是ajax返回的...好吧,不过他们确实算是让函数在特定时间执行。
- 定时(多次)
//函数体,时间
setInterval("alert('test')",2000);
//传入函数体
setInterval(function(){ alert("Hello"); }, 3000);
//清除定时
var myVar = setInterval(function(){ myTimer() }, 1000);
clearInterval(myVar);
- 延时(一次)
setTimeout(function(){ alert("Hello"); }, 3000);
//其它传参方式
setTimeout(function, milliseconds, param1, param2, ...)