1. 程式人生 > >js 時間間隔執行函式

js 時間間隔執行函式



JavaScript 支援暫停和時間間隔,這課有效的告訴瀏覽器應該何時執行某行程式碼。暫停就是在指定的毫秒數。
1、setTimeout('function',time):
第一個引數可以是程式碼串,也是可以函式指標,第二個引數是暫停時間(秒)。
function time(){
alert('執行');
}
window.onload=function(){
setTimeout(time,1000);
}
這個表示在一秒後執行time()函式,呼叫setTimeout()時,它創見一個數字暫停ID,與作業系統的程序ID相似。暫停ID本質上是要延遲的程序的ID,在呼叫setTimeout()時後,就不應該在執行其他程式碼。想取消還未執行的暫停,可以用clearTimeout()來取消,
2、clearTimeout():
接受一個引數:執行setTimeout()時,建立的暫停ID;
<script>
 var s = 0;
 function run(){
  s = setTimeout(a,1000)
 }
 function a(){
  alert(2)
 }
 function stop(){
  clearTimeout(s)
 }
</script>


<input type='button' value='run' onclick='run()'>
<input type='button' value='stop' onclick='stop()'>


在按下run時出發run()函式,執行setTimeout()並將建立的ID傳給s,在一秒後執行a(),如果在1秒內點選stop就會停止setTimeout()函式的執行。


 


2、還有一種執行方法,與暫停類似,setInterval()就是時間間隔表示在某段時間內不停的去執行一行程式碼,除了停止它否則會一直執行下去,這就是與setTimeout()不同之處,一個是暫停多少秒後執行一次,而setInterval()是一直執行。


function time(){
alert('執行');
}
window.onload=function(){
setInterval(time,1000);
}
 


1秒內不停的呼叫time().和setTimeout()一樣setInterval()也有停止它的函式,clearInterval()停止函式執行。


 


<script>
 var s = 0;
 function run(){
  s = setInterval(a,1000)
 }
 function a(){
  alert(2)
 }
 function stop(){
  clearInterval(s)
 }


</script>


<input type='button' value='run' onclick='run()'>
<input type='button' value='stop' onclick='stop()'>


 


在按下run時出發run()函式,執行setInterval()並將建立的ID傳給s,在一秒後執行a(),如果在1秒內點選stop就會停止setInterval()函式的執行。否則就會一直執行a()函式,這是與setTimeout()的不同之處


 


如何選擇使用那種方法,在執行一組程式碼前要等待一段時間,就使用暫停setTimeout(),如果要反覆的去執行一組程式碼時就用間隔setInterout().

相關推薦

js 時間間隔執行函式

JavaScript 支援暫停和時間間隔,這課有效的告訴瀏覽器應該何時執行某行程式碼。暫停就是在指定的毫秒數。 1、setTimeout('function',time): 第一個引數可以是程式碼串,也是可以函式指標,第二個引數是暫停時間(秒)。 function tim

js時間相減函式蘋果版相減為NAN(計算小時)

這個是安卓蘋果通用的(計算小時) //兩個日期的差值(d1 - d2). function DateDiff(d1,d2){     var day = 24 * 60 * 60 *1000;     try{   

js時間停止執行,就是這麼任性

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><script type="tex

js關於立即執行函式的一點記錄

( function(){…} )()和( function (){…} () )是兩種javascript立即執行函式的常見寫法,最初我以為是一個括號包裹匿名函式,再在後面加個括號呼叫函式,最後達到函式定義後立即執行的目的,後來發現加括號的原因並非如此。要理解立即執行函

關於JS的立即執行函式的一處使用場景

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style&g

MYSQL計算時間間隔TimeStampDiff()函式用法

函式TimeStampDiff()是MySQL本身提供的可以計算兩個時間間隔的函式,語法為:TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2),其中unit單位有如下幾種,分別是:FRAC_SECOND (microseco

winform timer時間間隔小於執行時間

timer 消息隊列 響應 執行 二次 settime 隊列 重入 第一個 如果SetTimer的時間間隔為t,其響應事件OnTimer代碼執行一遍的時間為T,且T>t。這樣,一次未執行完畢,下一次定時到,這時候程序會如何執行?可能的情況:1、丟棄還未執行的代碼,開始

js漸顯文字 時間間隔

你好 好想 ont append script array 官網 char 間隔 文字指定時間間隔,逐漸顯現所有文字。 一日,看到一官網首頁有個文字漸顯,感覺和手寫上去一樣,很是炫酷。F12發現不是動畫,於是研究了下。 <!doctype html> <

C#使用Timer.Interval指定時間間隔與指定時間執行事件

https://www.cnblogs.com/wusir/p/3636149.html C#中,Timer是一個定時器,它可以按照指定的時間間隔或者指定的時間執行一個事件。 指定時間間隔是指按特定的時間間隔,如每1分鐘、每10分鐘、每1個小時等執行指定事件; 指定時間是指每小時的第30分、每天10:3

JS 自定義sleep以及Ajax 自執行函式

<script src="/static/js/jquery-2.1.1.min.js"></script> <script> function sleep(numberMillis) { var now = new D

js 時間日期函式

忘記從哪裡拷貝過來的了,侵刪 1 Date.prototype.format = function (format) { 2 var date = { 3 "M+": this.getMonth() + 1, 4

JS中的自執行函式

轉自:https://www.cnblogs.com/zuiyirenjian/p/3535126.html 在JS中,也常常需要複用,將一些常見的操作封裝起來,目前看到的很多JS庫,比如JQuery就是非常典型的,那麼如何在JS中寫一個可複用的呢?雖然在JS中有類的這個說法,但是我對這個玩意還

js---作用域鏈,立即執行函式,閉包

1.作用域鏈----函式 定義時會獲得 父級的作用域鏈的值放在自己的 [[Scopes]]屬性中, [[Scopes]]是系統自帶的隱式屬性,通過console.dir(函式名)   可以檢視這個函式的作用域鏈,即 [[Scopes]]。任何函式都至少會

java獲取某段程式碼執行時間js獲取方法執行時間

java獲取某段程式碼執行時間和js獲取方法執行時間 java // 測試執行時間 long startTime = System.currentTimeMillis(); 程式碼段...... // 結束時間 long endTime = Syst

js立即執行函式: (function ( ){})( ) 與 (function ( ){}( )) 有什麼區別?

這篇文章主要介紹了js立即執行函式: (function ( ){})( ) 與 (function ( ){}( )) 有什麼區別,需要的朋友可以參考下 沒有區別。 你需要明白 IIFE 的原理,我簡單說一下: 複製程式碼 程式碼如下: function foo() {...} &

js函式、作用域、作用域鏈、閉包、立即執行函式

1.函式 定義 1.函式宣告 ```java function test(){ 函式體 }; 2.函式表示式: - 命名函式表示式 - ```java var fn = function test(){}; (匿名)函式表示式 var fn = function(){};

JS除錯獲取執行時間小技巧

console.time()和console.timeEnd()函式,引數名相同就是一對的 console.time('名稱X') //要執行的程式碼放中間(x段落) console.timeEnd('名稱x') console.time('名稱y') //要執行的程式碼放中間(

JS 時間轉換函式 字串時間轉換毫秒(互轉)

字串轉化為日期 let util = function(){ Date.prototype.Format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.get

js計算時間間隔的一個小例項(計算出差時長)

/** * 計算時間間隔 精確到0.5天 * @param startDate 開始時間 * @param endDate 結束時間 * @param startAmp 開始上下午 * @param endAmp 結束上下午 */function autoMaticTime(startDate,endDate

js 獲取當月的第一天和最後一天 & 日期格式化 & 獲取距離上次的時間間隔

1獲取當月的第一天 function getCurrentMonthFirst() { var date = new Date() date.setDate(1) return date } 2