JavaScript 定時器 SetTimeout之定時刷新窗口和關(guān)閉窗口(代碼超簡單)
廢話不多說了,直接給大家貼代碼了。
// 每隔五秒定時刷新當(dāng)前窗口 setTimeout("self.location.reload();",5000); //js 定時關(guān)閉窗口(ie和FF中測試過) //6秒后自動關(guān)閉當(dāng)前窗口 setTimeout("window.opener=null;window.close()",6000);
下面給大家介紹下javascript定時器使用
使用定時器實現(xiàn)JavaScript的延期執(zhí)行或重復(fù)執(zhí)行 window對象提供了兩個方法來實現(xiàn)定時器的效果,分別是
window.setTimeout()和window.setInterval。其中前者可以使一段代碼在指定時間后運行;而后者則可以使一段代碼每過指定時間就運行一次。 它們的原型如下: window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds); 其中expression可以是字符串,也可以是函數(shù)名。是字符串的時候可以帶參數(shù),函數(shù)名不能帶參數(shù),如果帶上參數(shù)就直接執(zhí)行函數(shù)了,不會延時。
function hello (){ console.log('I am dada'); //alert('I am ' + name); //setTimeout(arguments.callee,2000); } setTimeout(hello,5000);//5秒后執(zhí)行 setTimeout('hello()',3000);//3秒后執(zhí)行 setTimeout(hello(),8000);//立刻執(zhí)行
第一種情況是函數(shù)名,但是帶不了參數(shù)
第二種情況是字符串,可執(zhí)行的js代碼,可以帶參數(shù),但是性能上比函數(shù)名差
第三種是調(diào)用函數(shù),直接執(zhí)行
所以如果想要穿參數(shù),但是又不想通過字符串的形式調(diào)用,可以自己來寫一個方法:
function _hello(_name){ return function(){ hello2(_name); } } setTimeout(_hello(name),7000);//立刻執(zhí)行
一、setTimeout
setTimeout(function(){ //要執(zhí)行的代碼 },200);
指隔200ms后,定時器代碼被添加到隊列中,等待JavaScript進(jìn)程空閑后,代碼才執(zhí)行
二、setInterval
1、上面代碼是指每隔200ms就創(chuàng)建一個執(zhí)行代碼的定時器
2、當(dāng)使用setInterval時,僅當(dāng)(在隊列中)沒有該定時器的任何其他代碼實例時,才將定時器代碼添加到隊列中,引用JavaScript高級程序設(shè)計第二版書中語句(即:當(dāng)前一個定時器代碼執(zhí)行時,緊跟后面的第一個定時器代碼將添加到隊列中,等待執(zhí)行,再后面的定時器代碼不會添加到隊列中)
用setInterval來執(zhí)行反復(fù)的行為的時候會遇到一個問題:
當(dāng)定時器代碼執(zhí)行時間(假如需要600ms才執(zhí)行完)超過指定間隔(這里是200ms),那么某些定時器代碼就會被跳過(即后面的定時器代碼不會被添加到隊列中),前一個定時器代碼執(zhí)行完畢后,隊列中的定時器代碼立刻執(zhí)行,各定時器之間的代碼執(zhí)行沒有間隔。這時,需要使用鏈?zhǔn)絪etTimeout。
這樣做的好處是:前一個定時器要執(zhí)行的代碼執(zhí)行完且等待200ms后,才創(chuàng)建一個新的定時器,并把定時器代碼添加到隊列中執(zhí)行即:不會出現(xiàn)定時器代碼被跳過的情況;定時器之間的代碼執(zhí)行可以有間隔(根據(jù)自己設(shè)置)。
setTimeout(function(){ //要執(zhí)行的代碼 setTimeout(arguments.callee,2000); },2000); setInterval(function(){ //要執(zhí)行的代碼 },200);
本文就給大家介紹這么多,希望對大家有所幫助,同時感謝大家對腳本之家網(wǎng)站的支持。
相關(guān)文章
JavaScript實現(xiàn)圖片懶加載的三種常用方法總結(jié)
懶加載是一種對網(wǎng)頁性能優(yōu)化的方式,也是我們經(jīng)常會用到的技術(shù),這篇文章為大家整理了JavaScript實現(xiàn)圖片懶加載的三種常用方法,希望對大家有所幫助2023-06-06