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