本文解释了setTimeout()在JS中的用法,并分享给大家参考。具体内容如下。
渲染:
特定代码:
html healtheta http-equiv=' Content-Type ' Content=' text/html;charset=GB 2312/title无标题文档/title脚本类型=' text/JavaScript ' vartimer;//全局变量var I=0;//变量初始化,全局变量//定义函数:start timing函数start(){ //获取id=result varobj=document . getelementbyid(' result ')的对象;“程序已经运行了‘I’秒了!”;我;//expand i=i 1 //将变量str的内容写入id=result to obj.value=str//给表单元素添加内容,一般用value属性//表单以外的其他标签用JS写内容,用innerHTML //设置timer=window.settimeout ('start()',10);}//定义函数:stop定时函数stop(){ window . clear time out(timer);}/script/head dyinput type=' button ' id=' result ' value='程序已运行0秒钟!'/br/input type=' button ' onclick=' start()' value=' start '/input type=' button ' onclick=' stop()' value=' stop '/body/html下面我们来说说具体用法:
1.参数代码(必需):(原意为代码)要在要调用的函数之后执行的JavaScript代码字符串。Millisec(必需):执行代码前等待的毫秒数。提示:setTimeout()只执行一次代码。如果要多次调用,请使用setInterval()或让代码本身再次调用setTimeout()。2.例子。
html headscripttype=' text/JavaScript ' functiontimedmsg(){ vart=setTimeout(' alert(' 5秒钟!')',5000)}/script/headsdyforminputtype=' button ' value=' Displaytimedalertbox!'onclick=' timed msg()'/formpclickenthebuttonover . analertbox willbodisplayedafter5s/p/body/html 3,实例(2)。
function clock on(BG clock){ varnow=new date();varyear=now . getfullyear();var month=now . getmonth();var date=now . GetDate();varday=now . GetDay();var hour=now . gethours();varminu=now . getminutes();var sec=now . getseconds();varweek月=第1个月;if(month10)月='0 '月;if(date10)日期='0 '日期;如果(小时10)小时=0小时;if(minu 10)minu=' 0 ' minu;if(sec10)秒='0 '秒;/*vararr_week=newArray('星期日','星期一','星期二','星期三','星期四','星期五','星期六');week=arr _ week[day];*/switch(day){case1:week='星期一';打破;2:周='周二';打破;案例3:week='星期三';打破;案例4:周=周四;打破;案例5:周=周五;打破;案例6:周=周六;打破;Default:week=' Sunday打破;} vartime=时间=年'月'日'周'小时' : '分' : '秒;if(document . all){ BG clock . innerhtml='系统公告:[' time ']' } vartimer=settimeout(' clock on(BG clock)',200);}4.执行。
我们经常会遇到setTimeout(代码,毫秒)中的代码包含形式参数的情况。例如,我们需要在1秒钟后提示用户的信息存储在变量msg中。
var msg=已通过!';此时,是否直接执行。
setTimeout(警报(消息),1000);//会立即执行//alert(msg)还是?
setTimeout("alert(msg)",1000);//系统报告msgisnotdefined(chrome)无法达到预期目的,因为计时器会尝试将代码转换为函数对象。在第一种错误情况下,计时器立即执行代码,试图返回一个函数对象,结果为空。第二,虽然成功封装了函数对象,但是定时器在msg可见域之外执行代码,所以msg无法得到正确的传递推荐的解决方案是使用匿名函数回调。
var msg=已通过!';setTimeout(函数(){ alert(msg);},1000);第一个参数传递一个将调用所需语句的函数对象,从而解决了代码带参数的问题。
以上就是本文的全部内容,希望对大家学习javascript编程有所帮助。